Class ExecutionTrackingResult


  • @PublicApi
    public class ExecutionTrackingResult
    extends java.lang.Object
    This is the result of the agent tracking an execution. It can be found inside the GraphQLContext after the execution with the key EXECUTION_TRACKING_KEY Note: While this is public API, the main goal is temporary debugging to understand an execution better with minimal overhead. Therefore this will evolve over time if needed to be performant and reflect the overall execution. It is not recommended to have the agent on always or to rely on this class during normal execution
    • Field Detail

      • EXECUTION_TRACKING_KEY

        public static final java.lang.String EXECUTION_TRACKING_KEY
        See Also:
        Constant Field Values
      • startThread

        public final java.util.concurrent.atomic.AtomicReference<java.lang.String> startThread
      • endThread

        public final java.util.concurrent.atomic.AtomicReference<java.lang.String> endThread
      • startExecutionTime

        public final java.util.concurrent.atomic.AtomicLong startExecutionTime
      • endExecutionTime

        public final java.util.concurrent.atomic.AtomicLong endExecutionTime
      • resultPathToDataLoaderUsed

        public final java.util.Map<ResultPath,​java.lang.String> resultPathToDataLoaderUsed
      • dataLoaderToName

        public final java.util.Map<org.dataloader.DataLoader,​java.lang.String> dataLoaderToName
      • timePerPath

        public final java.util.Map<ResultPath,​java.lang.Long> timePerPath
      • finishedTimePerPath

        public final java.util.Map<ResultPath,​java.lang.Long> finishedTimePerPath
      • finishedThreadPerPath

        public final java.util.Map<ResultPath,​java.lang.String> finishedThreadPerPath
      • startInvocationThreadPerPath

        public final java.util.Map<ResultPath,​java.lang.String> startInvocationThreadPerPath
    • Constructor Detail

      • ExecutionTrackingResult

        public ExecutionTrackingResult()
    • Method Detail

      • print

        public java.lang.String print​(java.lang.String executionId)
      • toString

        public java.lang.String toString()
        Overrides:
        toString in class java.lang.Object
      • getDataLoaderNames

        public java.util.List<java.lang.String> getDataLoaderNames()
      • start

        public void start​(ResultPath path,
                          long startTime)
      • end

        public void end​(ResultPath path,
                        long endTime)
      • dataFetcherCount

        public int dataFetcherCount()
      • getTime

        public long getTime​(ResultPath path)
      • getTime

        public long getTime​(java.lang.String path)