74
74
import com .google .common .collect .ImmutableList ;
75
75
import com .google .common .collect .ImmutableMap ;
76
76
import com .google .common .collect .ImmutableSet ;
77
- import org .joda .time .DateTime ;
78
77
79
78
import javax .inject .Inject ;
80
79
@@ -662,11 +661,11 @@ private static void logQueryTimeline(QueryInfo queryInfo)
662
661
{
663
662
try {
664
663
QueryStats queryStats = queryInfo .getQueryStats ();
665
- DateTime queryStartTime = queryStats .getCreateTime ();
666
- DateTime queryEndTime = queryStats .getEndTime ();
664
+ long queryStartTime = queryStats .getCreateTimeInMillis ();
665
+ long queryEndTime = queryStats .getEndTimeInMillis ();
667
666
668
667
// query didn't finish cleanly
669
- if (queryStartTime == null || queryEndTime == null ) {
668
+ if (queryStartTime == 0 || queryEndTime == 0 ) {
670
669
return ;
671
670
}
672
671
@@ -675,9 +674,9 @@ private static void logQueryTimeline(QueryInfo queryInfo)
675
674
676
675
List <StageInfo > stages = getAllStages (queryInfo .getOutputStage ());
677
676
// long lastSchedulingCompletion = 0;
678
- long firstTaskStartTime = queryEndTime . getMillis () ;
679
- long lastTaskStartTime = queryStartTime . getMillis () + planning ;
680
- long lastTaskEndTime = queryStartTime . getMillis () + planning ;
677
+ long firstTaskStartTime = queryEndTime ;
678
+ long lastTaskStartTime = queryStartTime + planning ;
679
+ long lastTaskEndTime = queryStartTime + planning ;
681
680
for (StageInfo stage : stages ) {
682
681
// only consider leaf stages
683
682
if (!stage .getSubStages ().isEmpty ()) {
@@ -687,27 +686,27 @@ private static void logQueryTimeline(QueryInfo queryInfo)
687
686
for (TaskInfo taskInfo : stage .getLatestAttemptExecutionInfo ().getTasks ()) {
688
687
TaskStats taskStats = taskInfo .getStats ();
689
688
690
- DateTime firstStartTime = taskStats .getFirstStartTime ();
691
- if (firstStartTime != null ) {
692
- firstTaskStartTime = Math .min (firstStartTime . getMillis () , firstTaskStartTime );
689
+ long firstStartTimeInMillis = taskStats .getFirstStartTimeInMillis ();
690
+ if (firstStartTimeInMillis != 0 ) {
691
+ firstTaskStartTime = Math .min (firstStartTimeInMillis , firstTaskStartTime );
693
692
}
694
693
695
- DateTime lastStartTime = taskStats .getLastStartTime ();
696
- if (lastStartTime != null ) {
697
- lastTaskStartTime = max (lastStartTime . getMillis () , lastTaskStartTime );
694
+ long lastStartTimeInMillis = taskStats .getLastStartTimeInMillis ();
695
+ if (lastStartTimeInMillis != 0 ) {
696
+ lastTaskStartTime = max (lastStartTimeInMillis , lastTaskStartTime );
698
697
}
699
698
700
- DateTime endTime = taskStats .getEndTime ();
701
- if (endTime != null ) {
702
- lastTaskEndTime = max (endTime . getMillis () , lastTaskEndTime );
699
+ long endTimeInMillis = taskStats .getEndTimeInMillis ();
700
+ if (endTimeInMillis != 0 ) {
701
+ lastTaskEndTime = max (endTimeInMillis , lastTaskEndTime );
703
702
}
704
703
}
705
704
}
706
705
707
- long elapsed = max (queryEndTime . getMillis () - queryStartTime . getMillis () , 0 );
708
- long scheduling = max (firstTaskStartTime - queryStartTime . getMillis () - planning , 0 );
706
+ long elapsed = max (queryEndTime - queryStartTime , 0 );
707
+ long scheduling = max (firstTaskStartTime - queryStartTime - planning , 0 );
709
708
long running = max (lastTaskEndTime - firstTaskStartTime , 0 );
710
- long finishing = max (queryEndTime . getMillis () - lastTaskEndTime , 0 );
709
+ long finishing = max (queryEndTime - lastTaskEndTime , 0 );
711
710
712
711
logQueryTimeline (
713
712
queryInfo .getQueryId (),
@@ -727,15 +726,15 @@ private static void logQueryTimeline(QueryInfo queryInfo)
727
726
728
727
private static void logQueryTimeline (BasicQueryInfo queryInfo )
729
728
{
730
- DateTime queryStartTime = queryInfo .getQueryStats ().getCreateTime ();
731
- DateTime queryEndTime = queryInfo .getQueryStats ().getEndTime ();
729
+ long queryStartTimeInMillis = queryInfo .getQueryStats ().getCreateTimeInMillis ();
730
+ long queryEndTimeInMillis = queryInfo .getQueryStats ().getEndTimeInMillis ();
732
731
733
732
// query didn't finish cleanly
734
- if (queryStartTime == null || queryEndTime == null ) {
733
+ if (queryStartTimeInMillis == 0 || queryEndTimeInMillis == 0 ) {
735
734
return ;
736
735
}
737
736
738
- long elapsed = max (queryEndTime . getMillis () - queryStartTime . getMillis () , 0 );
737
+ long elapsed = max (queryEndTimeInMillis - queryStartTimeInMillis , 0 );
739
738
740
739
logQueryTimeline (
741
740
queryInfo .getQueryId (),
@@ -745,8 +744,8 @@ private static void logQueryTimeline(BasicQueryInfo queryInfo)
745
744
0 ,
746
745
0 ,
747
746
0 ,
748
- queryStartTime ,
749
- queryEndTime );
747
+ queryStartTimeInMillis ,
748
+ queryEndTimeInMillis );
750
749
}
751
750
752
751
private static void logQueryTimeline (
@@ -757,19 +756,19 @@ private static void logQueryTimeline(
757
756
long schedulingMillis ,
758
757
long runningMillis ,
759
758
long finishingMillis ,
760
- DateTime queryStartTime ,
761
- DateTime queryEndTime )
759
+ long queryStartTimeInMillis ,
760
+ long queryEndTimeInMillis )
762
761
{
763
- log .info ("TIMELINE: Query %s :: Transaction:[%s] :: elapsed %sms :: planning %sms :: scheduling %sms :: running %sms :: finishing %sms :: begin %s :: end %s " ,
762
+ log .info ("TIMELINE: Query %s :: Transaction:[%s] :: elapsed %sms :: planning %sms :: scheduling %sms :: running %sms :: finishing %sms :: begin %sms :: end %sms " ,
764
763
queryId ,
765
764
transactionId ,
766
765
elapsedMillis ,
767
766
planningMillis ,
768
767
schedulingMillis ,
769
768
runningMillis ,
770
769
finishingMillis ,
771
- queryStartTime ,
772
- queryEndTime );
770
+ queryStartTimeInMillis ,
771
+ queryEndTimeInMillis );
773
772
}
774
773
775
774
private static ResourceDistribution createResourceDistribution (
0 commit comments