From 194492945ea08cb399bfd1bd666abb5edcaeaa51 Mon Sep 17 00:00:00 2001 From: tobias-tengler <45513122+tobias-tengler@users.noreply.github.com> Date: Wed, 8 Apr 2026 16:17:33 +0200 Subject: [PATCH] wip --- .../Extensions/ActivityExtensions.cs | 32 +++++++- .../Diagnostics.Core/SemanticConventions.cs | 11 +-- .../Spans/ExecuteOperationSpan.cs | 5 ++ .../Spans/ExecuteRequestSpanBase.cs | 7 +- .../Spans/Http/ExecuteHttpRequestSpan.cs | 1 + .../ActivityDataLoaderDiagnosticListener.cs | 1 + .../ActivityExecutionDiagnosticListener.cs | 25 +++++- .../Diagnostics.Tests/ActivityTestHelper.cs | 1 + ...h_Dispatch_Coordinator_Emits_Activity.snap | 1 + ...ch_Coordinator_Tracks_Dispatch_Events.snap | 1 + ...esExecuteRequestAndParseDocumentSpans.snap | 8 +- ...erTests.Allow_Document_To_Be_Captured.snap | 8 +- ...r_Error_That_Deletes_The_Whole_Result.snap | 30 ++++++- ...ityAnalysis_Enabled_RecordsCostInSpan.snap | 9 ++- ...es_OnlyValidateAndCompile_LimitsSpans.snap | 2 + ...oader_BatchExecution_RecordsBatchSpan.snap | 10 ++- ...hExecution_With_Keys_RecordsBatchSpan.snap | 10 ++- ...esExecuteRequestAndParseDocumentSpans.snap | 3 + ..._SecondExecution_RecordsCacheHitEvent.snap | 5 +- ...ocumentNotFoundInStorage_RecordsEvent.snap | 7 +- ...lidation_Activity_Has_An_Error_Status.snap | 15 +++- ...lidGraphQLDocument_ReportsErrorStatus.snap | 8 +- ...ration_LoadsFromStorage_DefaultScopes.snap | 3 + ...ror_AtRootLevel_MarksOperationAsError.snap | 26 +++++- ...or_DeepInTree_MarksNestedFieldAsError.snap | 15 +++- ...rror_Records_Subscription_Event_Error.snap | 21 ++++- ...Event_Records_Subscription_Event_Span.snap | 7 ++ ...rack_Events_Of_A_Simple_Query_Default.snap | 3 + ...ntrustedDocumentRejected_RecordsEvent.snap | 7 +- ...Error_UnknownField_ReportsErrorStatus.snap | 15 +++- ...ion_WithAllScopes_RecordsCoercionSpan.snap | 9 ++- ...icListenerTests.Http_Get_SDL_Download.snap | 1 + ...ts.Http_Get_SingleRequest_GetHeroName.snap | 11 ++- ...p_Post_Add_Variables_To_Http_Activity.snap | 12 ++- ...s.Http_Post_Capture_Deferred_Response.snap | 9 +++ ...t_Ensure_List_Path_Is_Correctly_Built.snap | 15 +++- ...cListenerTests.Http_Post_Parser_Error.snap | 12 ++- ...s.Http_Post_SingleRequest_GetHeroName.snap | 11 ++- ...ost_SingleRequest_GetHeroName_Default.snap | 8 +- ...Not_Automatically_Added_To_Activities.snap | 12 ++- ...erTests.Http_Post_With_Extensions_Map.snap | 12 ++- ...RequestDetails_All_IncludesAllDetails.snap | 12 ++- ...IncludesIdHashOperationNameExtensions.snap | 11 ++- ...ails_DocumentOnly_IncludesDocumentTag.snap | 11 ++- ...equestDetails_None_ExcludesAllDetails.snap | 12 ++- .../FusionActivityEnricher.cs | 8 ++ ...ctivityExecutionDiagnosticEventListener.cs | 41 +++++++++- .../Spans/ExecutePlanNodeSpan.cs | 2 +- .../Spans/ExecuteSourceSchemaRequestSpan.cs | 59 ++++++++++++++ ...ggregateFusionExecutionDiagnosticEvents.cs | 15 ++++ .../FusionExecutionDiagnosticEventListener.cs | 7 ++ .../IFusionExecutionDiagnosticEvents.cs | 21 +++++ .../Execution/Nodes/OperationExecutionNode.cs | 1 + .../ActivityTestHelper.cs | 1 + ...tenerTests.AllScopes_IncludesAllSpans.snap | 39 ++++++++- ...erTests.Allow_Document_To_Be_Captured.snap | 39 ++++++++- ...r_Error_That_Deletes_The_Whole_Result.snap | 47 ++++++++++- ...copes_OnlyValidateAndPlan_LimitsSpans.snap | 27 +++++++ ...esExecuteRequestAndParseDocumentSpans.snap | 34 +++++++- ..._SecondExecution_RecordsCacheHitEvent.snap | 36 ++++++++- ...ocumentNotFoundInStorage_RecordsEvent.snap | 7 +- ...lidation_Activity_Has_An_Error_Status.snap | 15 +++- ...esolverError_RecordsDeeplyNestedError.snap | 79 +++++++++++++++++-- ...lidGraphQLDocument_ReportsErrorStatus.snap | 8 +- ...ration_LoadsFromStorage_DefaultScopes.snap | 34 +++++++- ...erTests.Source_Schema_Transport_Error.snap | 49 +++++++++++- ...Event_Records_Subscription_Event_Span.snap | 9 ++- ...ents_Of_A_Query_With_Multiple_Sources.snap | 71 +++++++++++++++-- ...rack_Events_Of_A_Simple_Query_Default.snap | 34 +++++++- ...ntrustedDocumentRejected_RecordsEvent.snap | 7 +- ...Error_UnknownField_ReportsErrorStatus.snap | 15 +++- ...icListenerTests.Http_Get_SDL_Download.snap | 1 + ...ListenerTests.Http_Get_Single_Request.snap | 41 +++++++++- ...p_Post_Add_Variables_To_Http_Activity.snap | 42 +++++++++- ...cListenerTests.Http_Post_Parser_Error.snap | 12 ++- ...istenerTests.Http_Post_Single_Request.snap | 41 +++++++++- ...ests.Http_Post_Single_Request_Default.snap | 39 ++++++++- ...Not_Automatically_Added_To_Activities.snap | 42 +++++++++- ...erTests.Http_Post_With_Extensions_Map.snap | 42 +++++++++- ...RequestDetails_All_IncludesAllDetails.snap | 42 +++++++++- ...IncludesIdHashOperationNameExtensions.snap | 41 +++++++++- ...ails_DocumentOnly_IncludesDocumentTag.snap | 41 +++++++++- ...equestDetails_None_ExcludesAllDetails.snap | 42 +++++++++- 83 files changed, 1466 insertions(+), 120 deletions(-) create mode 100644 src/HotChocolate/Fusion/src/Fusion.Diagnostics/Spans/ExecuteSourceSchemaRequestSpan.cs diff --git a/src/HotChocolate/Diagnostics/src/Diagnostics.Core/Extensions/ActivityExtensions.cs b/src/HotChocolate/Diagnostics/src/Diagnostics.Core/Extensions/ActivityExtensions.cs index 7a1e602c086..ff63766bdaf 100644 --- a/src/HotChocolate/Diagnostics/src/Diagnostics.Core/Extensions/ActivityExtensions.cs +++ b/src/HotChocolate/Diagnostics/src/Diagnostics.Core/Extensions/ActivityExtensions.cs @@ -21,10 +21,12 @@ public void AddException(Exception exception) { "exception.stacktrace", exception.ToString() }, { "exception.type", exception.GetType().ToString() } })); + + activity.SetErrorType(exception); } #endif - public void AddGraphQLError(IError error) + public void AddGraphQLError(IError error, string? operationType = null, string? operationName = null) { var tags = new ActivityTagsCollection { @@ -64,7 +66,33 @@ public void AddGraphQLError(IError error) tags[SemanticConventions.GraphQL.Error.Locations] = locations; } - activity.AddEvent(new ActivityEvent("exception", default, tags)); + if (operationType is not null) + { + tags[SemanticConventions.GraphQL.Operation.Type] = operationType; + } + + if (!string.IsNullOrEmpty(operationName)) + { + tags[SemanticConventions.GraphQL.Operation.Name] = operationName; + } + + activity.AddEvent(new ActivityEvent("graphql.error", default, tags)); + + if (activity.GetTagItem(SemanticConventions.ErrorType) is null) + { + var errorType = !string.IsNullOrEmpty(error.Code) + ? error.Code + : error.Exception?.GetType().FullName ?? "GRAPHQL_ERROR"; + activity.SetTag(SemanticConventions.ErrorType, errorType); + } + } + + public void SetErrorType(Exception exception) + { + if (activity.GetTagItem(SemanticConventions.ErrorType) is null) + { + activity.SetTag(SemanticConventions.ErrorType, exception.GetType().FullName); + } } [MethodImpl(MethodImplOptions.AggressiveInlining)] diff --git a/src/HotChocolate/Diagnostics/src/Diagnostics.Core/SemanticConventions.cs b/src/HotChocolate/Diagnostics/src/Diagnostics.Core/SemanticConventions.cs index 8fd7c30ae1c..c1e6b87f821 100644 --- a/src/HotChocolate/Diagnostics/src/Diagnostics.Core/SemanticConventions.cs +++ b/src/HotChocolate/Diagnostics/src/Diagnostics.Core/SemanticConventions.cs @@ -5,6 +5,8 @@ namespace HotChocolate.Diagnostics; internal static class SemanticConventions { + public const string ErrorType = "error.type"; + public static class GraphQL { public static class Document @@ -112,23 +114,18 @@ public static class Source public static class Operation { public const string Name = "graphql.source.operation.name"; - public const string Kind = "graphql.source.operation.kind"; + public const string Type = "graphql.source.operation.type"; public const string Hash = "graphql.source.operation.hash"; } } - // Note: This is not part of the OTEL semantic conventions - public static class Errors - { - public const string Count = "graphql.errors.count"; - } - public static class Error { public const string Message = "graphql.error.message"; public const string Locations = "graphql.error.locations"; public const string Path = "graphql.error.path"; public const string Code = "graphql.error.code"; + public const string Count = "graphql.error.count"; public static class Location { diff --git a/src/HotChocolate/Diagnostics/src/Diagnostics.Core/Spans/ExecuteOperationSpan.cs b/src/HotChocolate/Diagnostics/src/Diagnostics.Core/Spans/ExecuteOperationSpan.cs index 5ac01c4e91b..b89c0a4e568 100644 --- a/src/HotChocolate/Diagnostics/src/Diagnostics.Core/Spans/ExecuteOperationSpan.cs +++ b/src/HotChocolate/Diagnostics/src/Diagnostics.Core/Spans/ExecuteOperationSpan.cs @@ -37,6 +37,11 @@ protected override void OnComplete() if (context.Result is null or OperationResult { Errors: [_, ..] }) { Activity.SetStatus(ActivityStatusCode.Error); + + if (Activity.GetTagItem(SemanticConventions.ErrorType) is null) + { + Activity.SetTag(SemanticConventions.ErrorType, "EXECUTION_ERROR"); + } } else { diff --git a/src/HotChocolate/Diagnostics/src/Diagnostics.Core/Spans/ExecuteRequestSpanBase.cs b/src/HotChocolate/Diagnostics/src/Diagnostics.Core/Spans/ExecuteRequestSpanBase.cs index 3d3d3b4528a..9a0fc1b79df 100644 --- a/src/HotChocolate/Diagnostics/src/Diagnostics.Core/Spans/ExecuteRequestSpanBase.cs +++ b/src/HotChocolate/Diagnostics/src/Diagnostics.Core/Spans/ExecuteRequestSpanBase.cs @@ -45,12 +45,17 @@ protected override void OnComplete() if (Context.Result is OperationResult result) { // This was previously also always set to 0, so I just kept that behavior. - Activity.SetTag(GraphQL.Errors.Count, result.Errors.Count); + Activity.SetTag(GraphQL.Error.Count, result.Errors.Count); } if (Context.Result is null or OperationResult { Errors: [_, ..] }) { Activity.SetStatus(ActivityStatusCode.Error); + + if (Activity.GetTagItem(SemanticConventions.ErrorType) is null) + { + Activity.SetTag(SemanticConventions.ErrorType, "EXECUTION_ERROR"); + } } else if (Activity.Status != ActivityStatusCode.Error) { diff --git a/src/HotChocolate/Diagnostics/src/Diagnostics.Core/Spans/Http/ExecuteHttpRequestSpan.cs b/src/HotChocolate/Diagnostics/src/Diagnostics.Core/Spans/Http/ExecuteHttpRequestSpan.cs index 21ea1c134b1..9918cee9760 100644 --- a/src/HotChocolate/Diagnostics/src/Diagnostics.Core/Spans/Http/ExecuteHttpRequestSpan.cs +++ b/src/HotChocolate/Diagnostics/src/Diagnostics.Core/Spans/Http/ExecuteHttpRequestSpan.cs @@ -241,6 +241,7 @@ public void RecordError(Exception exception) { Activity.SetStatus(ActivityStatusCode.Error); Activity.AddException(exception); + Activity.SetErrorType(exception); enricher.EnrichHttpRequestError(httpContext, exception, Activity); } diff --git a/src/HotChocolate/Diagnostics/src/Diagnostics/Listeners/ActivityDataLoaderDiagnosticListener.cs b/src/HotChocolate/Diagnostics/src/Diagnostics/Listeners/ActivityDataLoaderDiagnosticListener.cs index 785291a1891..d19b47a7de4 100644 --- a/src/HotChocolate/Diagnostics/src/Diagnostics/Listeners/ActivityDataLoaderDiagnosticListener.cs +++ b/src/HotChocolate/Diagnostics/src/Diagnostics/Listeners/ActivityDataLoaderDiagnosticListener.cs @@ -47,6 +47,7 @@ public override void BatchDispatchError(Exception error) { activity.SetStatus(ActivityStatusCode.Error); activity.AddException(error); + activity.SetErrorType(error); enricher.EnrichBatchDispatchError(error, activity); } diff --git a/src/HotChocolate/Diagnostics/src/Diagnostics/Listeners/ActivityExecutionDiagnosticListener.cs b/src/HotChocolate/Diagnostics/src/Diagnostics/Listeners/ActivityExecutionDiagnosticListener.cs index 23899fd800e..0f2579c9bfd 100644 --- a/src/HotChocolate/Diagnostics/src/Diagnostics/Listeners/ActivityExecutionDiagnosticListener.cs +++ b/src/HotChocolate/Diagnostics/src/Diagnostics/Listeners/ActivityExecutionDiagnosticListener.cs @@ -56,6 +56,7 @@ public override void RequestError(RequestContext context, Exception error) activity.SetStatus(ActivityStatusCode.Error); activity.AddException(error); + activity.SetErrorType(error); enricher.EnrichRequestError(context, error, activity); } @@ -67,8 +68,15 @@ public override void RequestError(RequestContext context, IError error) { var activity = span.Activity; + string? opType = null, opName = null; + if (context.TryGetOperation(out var operation)) + { + opType = SemanticConventions.GraphQL.Operation.TypeValues[operation.Kind]; + opName = operation.Name; + } + activity.SetStatus(ActivityStatusCode.Error); - activity.AddGraphQLError(error); + activity.AddGraphQLError(error, opType, opName); enricher.EnrichRequestError(context, error, activity); } @@ -114,11 +122,18 @@ public override void ValidationErrors(RequestContext context, IReadOnlyList new diff --git a/src/HotChocolate/Diagnostics/test/Diagnostics.Tests/__snapshots__/ActivityDataLoaderDiagnosticListenerTests.Run_Batch_Dispatch_Coordinator_Emits_Activity.snap b/src/HotChocolate/Diagnostics/test/Diagnostics.Tests/__snapshots__/ActivityDataLoaderDiagnosticListenerTests.Run_Batch_Dispatch_Coordinator_Emits_Activity.snap index a7bc715d1b7..780b2631e19 100644 --- a/src/HotChocolate/Diagnostics/test/Diagnostics.Tests/__snapshots__/ActivityDataLoaderDiagnosticListenerTests.Run_Batch_Dispatch_Coordinator_Emits_Activity.snap +++ b/src/HotChocolate/Diagnostics/test/Diagnostics.Tests/__snapshots__/ActivityDataLoaderDiagnosticListenerTests.Run_Batch_Dispatch_Coordinator_Emits_Activity.snap @@ -3,6 +3,7 @@ { "OperationName": "GraphQL DataLoader Dispatch", "DisplayName": "GraphQL DataLoader Dispatch", + "Kind": "Internal", "Status": "Ok", "tags": [ { diff --git a/src/HotChocolate/Diagnostics/test/Diagnostics.Tests/__snapshots__/ActivityDataLoaderDiagnosticListenerTests.Run_Batch_Dispatch_Coordinator_Tracks_Dispatch_Events.snap b/src/HotChocolate/Diagnostics/test/Diagnostics.Tests/__snapshots__/ActivityDataLoaderDiagnosticListenerTests.Run_Batch_Dispatch_Coordinator_Tracks_Dispatch_Events.snap index f835ed1a85a..398207a24bc 100644 --- a/src/HotChocolate/Diagnostics/test/Diagnostics.Tests/__snapshots__/ActivityDataLoaderDiagnosticListenerTests.Run_Batch_Dispatch_Coordinator_Tracks_Dispatch_Events.snap +++ b/src/HotChocolate/Diagnostics/test/Diagnostics.Tests/__snapshots__/ActivityDataLoaderDiagnosticListenerTests.Run_Batch_Dispatch_Coordinator_Tracks_Dispatch_Events.snap @@ -3,6 +3,7 @@ { "OperationName": "GraphQL DataLoader Dispatch", "DisplayName": "GraphQL DataLoader Dispatch", + "Kind": "Internal", "Status": "Ok", "tags": [ { diff --git a/src/HotChocolate/Diagnostics/test/Diagnostics.Tests/__snapshots__/ActivityExecutionDiagnosticListenerTests.AllScopes_IncludesExecuteRequestAndParseDocumentSpans.snap b/src/HotChocolate/Diagnostics/test/Diagnostics.Tests/__snapshots__/ActivityExecutionDiagnosticListenerTests.AllScopes_IncludesExecuteRequestAndParseDocumentSpans.snap index 26a9e72f1e5..08ce98a9089 100644 --- a/src/HotChocolate/Diagnostics/test/Diagnostics.Tests/__snapshots__/ActivityExecutionDiagnosticListenerTests.AllScopes_IncludesExecuteRequestAndParseDocumentSpans.snap +++ b/src/HotChocolate/Diagnostics/test/Diagnostics.Tests/__snapshots__/ActivityExecutionDiagnosticListenerTests.AllScopes_IncludesExecuteRequestAndParseDocumentSpans.snap @@ -3,6 +3,7 @@ { "OperationName": "GraphQL Operation", "DisplayName": "query", + "Kind": "Internal", "Status": "Ok", "tags": [ { @@ -14,7 +15,7 @@ "Value": "md5:f7e9989fbb67af7fa747a9983313c9e5" }, { - "Key": "graphql.errors.count", + "Key": "graphql.error.count", "Value": 0 } ], @@ -32,6 +33,7 @@ { "OperationName": "GraphQL Document Parsing", "DisplayName": "GraphQL Document Parsing", + "Kind": "Internal", "Status": "Ok", "tags": [ { @@ -44,6 +46,7 @@ { "OperationName": "GraphQL Document Validation", "DisplayName": "GraphQL Document Validation", + "Kind": "Internal", "Status": "Ok", "tags": [ { @@ -60,6 +63,7 @@ { "OperationName": "GraphQL Operation Planning", "DisplayName": "GraphQL Operation Planning", + "Kind": "Internal", "Status": "Ok", "tags": [ { @@ -80,6 +84,7 @@ { "OperationName": "GraphQL Operation Execution", "DisplayName": "GraphQL Operation Execution", + "Kind": "Internal", "Status": "Ok", "tags": [ { @@ -100,6 +105,7 @@ { "OperationName": "SimpleQuery.sayHello", "DisplayName": "SimpleQuery.sayHello", + "Kind": "Internal", "Status": "Ok", "tags": [ { diff --git a/src/HotChocolate/Diagnostics/test/Diagnostics.Tests/__snapshots__/ActivityExecutionDiagnosticListenerTests.Allow_Document_To_Be_Captured.snap b/src/HotChocolate/Diagnostics/test/Diagnostics.Tests/__snapshots__/ActivityExecutionDiagnosticListenerTests.Allow_Document_To_Be_Captured.snap index a9723bbe874..97b89785cd1 100644 --- a/src/HotChocolate/Diagnostics/test/Diagnostics.Tests/__snapshots__/ActivityExecutionDiagnosticListenerTests.Allow_Document_To_Be_Captured.snap +++ b/src/HotChocolate/Diagnostics/test/Diagnostics.Tests/__snapshots__/ActivityExecutionDiagnosticListenerTests.Allow_Document_To_Be_Captured.snap @@ -3,6 +3,7 @@ { "OperationName": "GraphQL Operation", "DisplayName": "query", + "Kind": "Internal", "Status": "Ok", "tags": [ { @@ -22,7 +23,7 @@ "Value": "query SayHelloOperation {\n sayHello\n}" }, { - "Key": "graphql.errors.count", + "Key": "graphql.error.count", "Value": 0 } ], @@ -40,6 +41,7 @@ { "OperationName": "GraphQL Document Parsing", "DisplayName": "GraphQL Document Parsing", + "Kind": "Internal", "Status": "Ok", "tags": [ { @@ -52,6 +54,7 @@ { "OperationName": "GraphQL Document Validation", "DisplayName": "GraphQL Document Validation", + "Kind": "Internal", "Status": "Ok", "tags": [ { @@ -68,6 +71,7 @@ { "OperationName": "GraphQL Operation Planning", "DisplayName": "GraphQL Operation Planning", + "Kind": "Internal", "Status": "Ok", "tags": [ { @@ -92,6 +96,7 @@ { "OperationName": "GraphQL Operation Execution", "DisplayName": "GraphQL Operation Execution", + "Kind": "Internal", "Status": "Ok", "tags": [ { @@ -116,6 +121,7 @@ { "OperationName": "SimpleQuery.sayHello", "DisplayName": "SimpleQuery.sayHello", + "Kind": "Internal", "Status": "Ok", "tags": [ { diff --git a/src/HotChocolate/Diagnostics/test/Diagnostics.Tests/__snapshots__/ActivityExecutionDiagnosticListenerTests.Cause_A_Resolver_Error_That_Deletes_The_Whole_Result.snap b/src/HotChocolate/Diagnostics/test/Diagnostics.Tests/__snapshots__/ActivityExecutionDiagnosticListenerTests.Cause_A_Resolver_Error_That_Deletes_The_Whole_Result.snap index c3af8a8c1a4..e995cc5434d 100644 --- a/src/HotChocolate/Diagnostics/test/Diagnostics.Tests/__snapshots__/ActivityExecutionDiagnosticListenerTests.Cause_A_Resolver_Error_That_Deletes_The_Whole_Result.snap +++ b/src/HotChocolate/Diagnostics/test/Diagnostics.Tests/__snapshots__/ActivityExecutionDiagnosticListenerTests.Cause_A_Resolver_Error_That_Deletes_The_Whole_Result.snap @@ -3,6 +3,7 @@ { "OperationName": "GraphQL Operation", "DisplayName": "query", + "Kind": "Internal", "Status": "Error", "tags": [ { @@ -22,8 +23,12 @@ "Value": "query SayHelloOperation {\n causeFatalError\n}" }, { - "Key": "graphql.errors.count", + "Key": "graphql.error.count", "Value": 1 + }, + { + "Key": "error.type", + "Value": "EXECUTION_ERROR" } ], "event": [ @@ -40,6 +45,7 @@ { "OperationName": "GraphQL Document Parsing", "DisplayName": "GraphQL Document Parsing", + "Kind": "Internal", "Status": "Ok", "tags": [ { @@ -52,6 +58,7 @@ { "OperationName": "GraphQL Document Validation", "DisplayName": "GraphQL Document Validation", + "Kind": "Internal", "Status": "Ok", "tags": [ { @@ -68,6 +75,7 @@ { "OperationName": "GraphQL Operation Planning", "DisplayName": "GraphQL Operation Planning", + "Kind": "Internal", "Status": "Ok", "tags": [ { @@ -92,6 +100,7 @@ { "OperationName": "GraphQL Operation Execution", "DisplayName": "GraphQL Operation Execution", + "Kind": "Internal", "Status": "Error", "tags": [ { @@ -109,6 +118,10 @@ { "Key": "graphql.document.hash", "Value": "md5:851fb754d9ba6b5cc5a55ebcbea2621d" + }, + { + "Key": "error.type", + "Value": "EXECUTION_ERROR" } ], "event": [], @@ -116,6 +129,7 @@ { "OperationName": "SimpleQuery.causeFatalError", "DisplayName": "SimpleQuery.causeFatalError", + "Kind": "Internal", "Status": "Error", "tags": [ { @@ -141,11 +155,15 @@ { "Key": "graphql.selection.field.parent_type", "Value": "SimpleQuery" + }, + { + "Key": "error.type", + "Value": "GRAPHQL_ERROR" } ], "event": [ { - "Name": "exception", + "Name": "graphql.error", "Tags": [ { "Key": "graphql.error.message", @@ -154,6 +172,14 @@ { "Key": "graphql.error.path", "Value": "causeFatalError" + }, + { + "Key": "graphql.operation.type", + "Value": "query" + }, + { + "Key": "graphql.operation.name", + "Value": "SayHelloOperation" } ] } diff --git a/src/HotChocolate/Diagnostics/test/Diagnostics.Tests/__snapshots__/ActivityExecutionDiagnosticListenerTests.ComplexityAnalysis_Enabled_RecordsCostInSpan.snap b/src/HotChocolate/Diagnostics/test/Diagnostics.Tests/__snapshots__/ActivityExecutionDiagnosticListenerTests.ComplexityAnalysis_Enabled_RecordsCostInSpan.snap index a005bf05d33..45b83341ae3 100644 --- a/src/HotChocolate/Diagnostics/test/Diagnostics.Tests/__snapshots__/ActivityExecutionDiagnosticListenerTests.ComplexityAnalysis_Enabled_RecordsCostInSpan.snap +++ b/src/HotChocolate/Diagnostics/test/Diagnostics.Tests/__snapshots__/ActivityExecutionDiagnosticListenerTests.ComplexityAnalysis_Enabled_RecordsCostInSpan.snap @@ -3,6 +3,7 @@ { "OperationName": "GraphQL Operation", "DisplayName": "query", + "Kind": "Internal", "Status": "Ok", "tags": [ { @@ -14,7 +15,7 @@ "Value": "md5:f7e9989fbb67af7fa747a9983313c9e5" }, { - "Key": "graphql.errors.count", + "Key": "graphql.error.count", "Value": 0 } ], @@ -32,6 +33,7 @@ { "OperationName": "GraphQL Document Parsing", "DisplayName": "GraphQL Document Parsing", + "Kind": "Internal", "Status": "Ok", "tags": [ { @@ -44,6 +46,7 @@ { "OperationName": "GraphQL Document Validation", "DisplayName": "GraphQL Document Validation", + "Kind": "Internal", "Status": "Ok", "tags": [ { @@ -60,6 +63,7 @@ { "OperationName": "GraphQL Complexity Analysis", "DisplayName": "GraphQL Complexity Analysis", + "Kind": "Internal", "Status": "Ok", "tags": [ { @@ -80,6 +84,7 @@ { "OperationName": "GraphQL Operation Planning", "DisplayName": "GraphQL Operation Planning", + "Kind": "Internal", "Status": "Ok", "tags": [ { @@ -100,6 +105,7 @@ { "OperationName": "GraphQL Operation Execution", "DisplayName": "GraphQL Operation Execution", + "Kind": "Internal", "Status": "Ok", "tags": [ { @@ -120,6 +126,7 @@ { "OperationName": "SimpleQuery.sayHello", "DisplayName": "SimpleQuery.sayHello", + "Kind": "Internal", "Status": "Ok", "tags": [ { diff --git a/src/HotChocolate/Diagnostics/test/Diagnostics.Tests/__snapshots__/ActivityExecutionDiagnosticListenerTests.CustomScopes_OnlyValidateAndCompile_LimitsSpans.snap b/src/HotChocolate/Diagnostics/test/Diagnostics.Tests/__snapshots__/ActivityExecutionDiagnosticListenerTests.CustomScopes_OnlyValidateAndCompile_LimitsSpans.snap index 6e5564554ca..da4ac328dd2 100644 --- a/src/HotChocolate/Diagnostics/test/Diagnostics.Tests/__snapshots__/ActivityExecutionDiagnosticListenerTests.CustomScopes_OnlyValidateAndCompile_LimitsSpans.snap +++ b/src/HotChocolate/Diagnostics/test/Diagnostics.Tests/__snapshots__/ActivityExecutionDiagnosticListenerTests.CustomScopes_OnlyValidateAndCompile_LimitsSpans.snap @@ -3,6 +3,7 @@ { "OperationName": "GraphQL Document Validation", "DisplayName": "GraphQL Document Validation", + "Kind": "Internal", "Status": "Ok", "tags": [ { @@ -19,6 +20,7 @@ { "OperationName": "GraphQL Operation Planning", "DisplayName": "GraphQL Operation Planning", + "Kind": "Internal", "Status": "Ok", "tags": [ { diff --git a/src/HotChocolate/Diagnostics/test/Diagnostics.Tests/__snapshots__/ActivityExecutionDiagnosticListenerTests.DataLoader_BatchExecution_RecordsBatchSpan.snap b/src/HotChocolate/Diagnostics/test/Diagnostics.Tests/__snapshots__/ActivityExecutionDiagnosticListenerTests.DataLoader_BatchExecution_RecordsBatchSpan.snap index 837a36fa927..f4c008d43f5 100644 --- a/src/HotChocolate/Diagnostics/test/Diagnostics.Tests/__snapshots__/ActivityExecutionDiagnosticListenerTests.DataLoader_BatchExecution_RecordsBatchSpan.snap +++ b/src/HotChocolate/Diagnostics/test/Diagnostics.Tests/__snapshots__/ActivityExecutionDiagnosticListenerTests.DataLoader_BatchExecution_RecordsBatchSpan.snap @@ -3,6 +3,7 @@ { "OperationName": "GraphQL Operation", "DisplayName": "query", + "Kind": "Internal", "Status": "Ok", "tags": [ { @@ -14,7 +15,7 @@ "Value": "md5:9b20745108c8de5afccc35cd56ead9fc" }, { - "Key": "graphql.errors.count", + "Key": "graphql.error.count", "Value": 0 } ], @@ -32,6 +33,7 @@ { "OperationName": "GraphQL Document Parsing", "DisplayName": "GraphQL Document Parsing", + "Kind": "Internal", "Status": "Ok", "tags": [ { @@ -44,6 +46,7 @@ { "OperationName": "GraphQL Document Validation", "DisplayName": "GraphQL Document Validation", + "Kind": "Internal", "Status": "Ok", "tags": [ { @@ -60,6 +63,7 @@ { "OperationName": "GraphQL Operation Planning", "DisplayName": "GraphQL Operation Planning", + "Kind": "Internal", "Status": "Ok", "tags": [ { @@ -80,6 +84,7 @@ { "OperationName": "GraphQL Operation Execution", "DisplayName": "GraphQL Operation Execution", + "Kind": "Internal", "Status": "Ok", "tags": [ { @@ -100,6 +105,7 @@ { "OperationName": "SimpleQuery.dataLoader", "DisplayName": "SimpleQuery.dataLoader", + "Kind": "Internal", "Status": "Ok", "tags": [ { @@ -132,6 +138,7 @@ { "OperationName": "GraphQL DataLoader Dispatch", "DisplayName": "GraphQL DataLoader Dispatch", + "Kind": "Internal", "Status": "Ok", "tags": [ { @@ -163,6 +170,7 @@ { "OperationName": "GraphQL DataLoader Batch CustomDataLoader", "DisplayName": "GraphQL DataLoader Batch CustomDataLoader", + "Kind": "Internal", "Status": "Ok", "tags": [ { diff --git a/src/HotChocolate/Diagnostics/test/Diagnostics.Tests/__snapshots__/ActivityExecutionDiagnosticListenerTests.DataLoader_BatchExecution_With_Keys_RecordsBatchSpan.snap b/src/HotChocolate/Diagnostics/test/Diagnostics.Tests/__snapshots__/ActivityExecutionDiagnosticListenerTests.DataLoader_BatchExecution_With_Keys_RecordsBatchSpan.snap index caf0fd8a188..5fd2ea04d6c 100644 --- a/src/HotChocolate/Diagnostics/test/Diagnostics.Tests/__snapshots__/ActivityExecutionDiagnosticListenerTests.DataLoader_BatchExecution_With_Keys_RecordsBatchSpan.snap +++ b/src/HotChocolate/Diagnostics/test/Diagnostics.Tests/__snapshots__/ActivityExecutionDiagnosticListenerTests.DataLoader_BatchExecution_With_Keys_RecordsBatchSpan.snap @@ -3,6 +3,7 @@ { "OperationName": "GraphQL Operation", "DisplayName": "query", + "Kind": "Internal", "Status": "Ok", "tags": [ { @@ -14,7 +15,7 @@ "Value": "md5:9b20745108c8de5afccc35cd56ead9fc" }, { - "Key": "graphql.errors.count", + "Key": "graphql.error.count", "Value": 0 } ], @@ -32,6 +33,7 @@ { "OperationName": "GraphQL Document Parsing", "DisplayName": "GraphQL Document Parsing", + "Kind": "Internal", "Status": "Ok", "tags": [ { @@ -44,6 +46,7 @@ { "OperationName": "GraphQL Document Validation", "DisplayName": "GraphQL Document Validation", + "Kind": "Internal", "Status": "Ok", "tags": [ { @@ -60,6 +63,7 @@ { "OperationName": "GraphQL Operation Planning", "DisplayName": "GraphQL Operation Planning", + "Kind": "Internal", "Status": "Ok", "tags": [ { @@ -80,6 +84,7 @@ { "OperationName": "GraphQL Operation Execution", "DisplayName": "GraphQL Operation Execution", + "Kind": "Internal", "Status": "Ok", "tags": [ { @@ -100,6 +105,7 @@ { "OperationName": "SimpleQuery.dataLoader", "DisplayName": "SimpleQuery.dataLoader", + "Kind": "Internal", "Status": "Ok", "tags": [ { @@ -132,6 +138,7 @@ { "OperationName": "GraphQL DataLoader Dispatch", "DisplayName": "GraphQL DataLoader Dispatch", + "Kind": "Internal", "Status": "Ok", "tags": [ { @@ -163,6 +170,7 @@ { "OperationName": "GraphQL DataLoader Batch CustomDataLoader", "DisplayName": "GraphQL DataLoader Batch CustomDataLoader", + "Kind": "Internal", "Status": "Ok", "tags": [ { diff --git a/src/HotChocolate/Diagnostics/test/Diagnostics.Tests/__snapshots__/ActivityExecutionDiagnosticListenerTests.DefaultScopes_ExcludesExecuteRequestAndParseDocumentSpans.snap b/src/HotChocolate/Diagnostics/test/Diagnostics.Tests/__snapshots__/ActivityExecutionDiagnosticListenerTests.DefaultScopes_ExcludesExecuteRequestAndParseDocumentSpans.snap index 2386d6e2307..09454b81189 100644 --- a/src/HotChocolate/Diagnostics/test/Diagnostics.Tests/__snapshots__/ActivityExecutionDiagnosticListenerTests.DefaultScopes_ExcludesExecuteRequestAndParseDocumentSpans.snap +++ b/src/HotChocolate/Diagnostics/test/Diagnostics.Tests/__snapshots__/ActivityExecutionDiagnosticListenerTests.DefaultScopes_ExcludesExecuteRequestAndParseDocumentSpans.snap @@ -3,6 +3,7 @@ { "OperationName": "GraphQL Document Validation", "DisplayName": "GraphQL Document Validation", + "Kind": "Internal", "Status": "Ok", "tags": [ { @@ -19,6 +20,7 @@ { "OperationName": "GraphQL Operation Planning", "DisplayName": "GraphQL Operation Planning", + "Kind": "Internal", "Status": "Ok", "tags": [ { @@ -39,6 +41,7 @@ { "OperationName": "SimpleQuery.sayHello", "DisplayName": "SimpleQuery.sayHello", + "Kind": "Internal", "Status": "Ok", "tags": [ { diff --git a/src/HotChocolate/Diagnostics/test/Diagnostics.Tests/__snapshots__/ActivityExecutionDiagnosticListenerTests.DocumentCache_SecondExecution_RecordsCacheHitEvent.snap b/src/HotChocolate/Diagnostics/test/Diagnostics.Tests/__snapshots__/ActivityExecutionDiagnosticListenerTests.DocumentCache_SecondExecution_RecordsCacheHitEvent.snap index 6bcfb388d85..509f062fee2 100644 --- a/src/HotChocolate/Diagnostics/test/Diagnostics.Tests/__snapshots__/ActivityExecutionDiagnosticListenerTests.DocumentCache_SecondExecution_RecordsCacheHitEvent.snap +++ b/src/HotChocolate/Diagnostics/test/Diagnostics.Tests/__snapshots__/ActivityExecutionDiagnosticListenerTests.DocumentCache_SecondExecution_RecordsCacheHitEvent.snap @@ -3,6 +3,7 @@ { "OperationName": "GraphQL Operation", "DisplayName": "query", + "Kind": "Internal", "Status": "Ok", "tags": [ { @@ -14,7 +15,7 @@ "Value": "md5:f7e9989fbb67af7fa747a9983313c9e5" }, { - "Key": "graphql.errors.count", + "Key": "graphql.error.count", "Value": 0 } ], @@ -28,6 +29,7 @@ { "OperationName": "GraphQL Operation Execution", "DisplayName": "GraphQL Operation Execution", + "Kind": "Internal", "Status": "Ok", "tags": [ { @@ -48,6 +50,7 @@ { "OperationName": "SimpleQuery.sayHello", "DisplayName": "SimpleQuery.sayHello", + "Kind": "Internal", "Status": "Ok", "tags": [ { diff --git a/src/HotChocolate/Diagnostics/test/Diagnostics.Tests/__snapshots__/ActivityExecutionDiagnosticListenerTests.DocumentNotFoundInStorage_RecordsEvent.snap b/src/HotChocolate/Diagnostics/test/Diagnostics.Tests/__snapshots__/ActivityExecutionDiagnosticListenerTests.DocumentNotFoundInStorage_RecordsEvent.snap index 2ac2accfde8..433e4c1bb1c 100644 --- a/src/HotChocolate/Diagnostics/test/Diagnostics.Tests/__snapshots__/ActivityExecutionDiagnosticListenerTests.DocumentNotFoundInStorage_RecordsEvent.snap +++ b/src/HotChocolate/Diagnostics/test/Diagnostics.Tests/__snapshots__/ActivityExecutionDiagnosticListenerTests.DocumentNotFoundInStorage_RecordsEvent.snap @@ -3,11 +3,16 @@ { "OperationName": "GraphQL Operation", "DisplayName": "GraphQL Operation", + "Kind": "Internal", "Status": "Error", "tags": [ { - "Key": "graphql.errors.count", + "Key": "graphql.error.count", "Value": 1 + }, + { + "Key": "error.type", + "Value": "EXECUTION_ERROR" } ], "event": [ diff --git a/src/HotChocolate/Diagnostics/test/Diagnostics.Tests/__snapshots__/ActivityExecutionDiagnosticListenerTests.Ensure_That_The_Validation_Activity_Has_An_Error_Status.snap b/src/HotChocolate/Diagnostics/test/Diagnostics.Tests/__snapshots__/ActivityExecutionDiagnosticListenerTests.Ensure_That_The_Validation_Activity_Has_An_Error_Status.snap index 98cc2455ee4..50b1f791486 100644 --- a/src/HotChocolate/Diagnostics/test/Diagnostics.Tests/__snapshots__/ActivityExecutionDiagnosticListenerTests.Ensure_That_The_Validation_Activity_Has_An_Error_Status.snap +++ b/src/HotChocolate/Diagnostics/test/Diagnostics.Tests/__snapshots__/ActivityExecutionDiagnosticListenerTests.Ensure_That_The_Validation_Activity_Has_An_Error_Status.snap @@ -3,6 +3,7 @@ { "OperationName": "GraphQL Operation", "DisplayName": "GraphQL Operation", + "Kind": "Internal", "Status": "Error", "tags": [ { @@ -14,8 +15,12 @@ "Value": "query SayHelloOperation {\n sayHello_\n}" }, { - "Key": "graphql.errors.count", + "Key": "graphql.error.count", "Value": 1 + }, + { + "Key": "error.type", + "Value": "EXECUTION_ERROR" } ], "event": [], @@ -23,6 +28,7 @@ { "OperationName": "GraphQL Document Parsing", "DisplayName": "GraphQL Document Parsing", + "Kind": "Internal", "Status": "Ok", "tags": [ { @@ -35,6 +41,7 @@ { "OperationName": "GraphQL Document Validation", "DisplayName": "GraphQL Document Validation", + "Kind": "Internal", "Status": "Error", "tags": [ { @@ -44,11 +51,15 @@ { "Key": "graphql.document.hash", "Value": "md5:bb1d246465341a97bdc727d6cd8ead5c" + }, + { + "Key": "error.type", + "Value": "GRAPHQL_ERROR" } ], "event": [ { - "Name": "exception", + "Name": "graphql.error", "Tags": [ { "Key": "graphql.error.message", diff --git a/src/HotChocolate/Diagnostics/test/Diagnostics.Tests/__snapshots__/ActivityExecutionDiagnosticListenerTests.ParsingError_InvalidGraphQLDocument_ReportsErrorStatus.snap b/src/HotChocolate/Diagnostics/test/Diagnostics.Tests/__snapshots__/ActivityExecutionDiagnosticListenerTests.ParsingError_InvalidGraphQLDocument_ReportsErrorStatus.snap index e8efaf306c2..3c2cb62bd79 100644 --- a/src/HotChocolate/Diagnostics/test/Diagnostics.Tests/__snapshots__/ActivityExecutionDiagnosticListenerTests.ParsingError_InvalidGraphQLDocument_ReportsErrorStatus.snap +++ b/src/HotChocolate/Diagnostics/test/Diagnostics.Tests/__snapshots__/ActivityExecutionDiagnosticListenerTests.ParsingError_InvalidGraphQLDocument_ReportsErrorStatus.snap @@ -3,14 +3,19 @@ { "OperationName": "GraphQL Operation", "DisplayName": "GraphQL Operation", + "Kind": "Internal", "Status": "Error", "tags": [ + { + "Key": "error.type", + "Value": "HotChocolate.Language.SyntaxException" + }, { "Key": "graphql.document.hash", "Value": "md5:bb507ba78696fc3c6ff3a17fb06784d5" }, { - "Key": "graphql.errors.count", + "Key": "graphql.error.count", "Value": 1 } ], @@ -37,6 +42,7 @@ { "OperationName": "GraphQL Document Parsing", "DisplayName": "GraphQL Document Parsing", + "Kind": "Internal", "Status": "Unset", "tags": [ { diff --git a/src/HotChocolate/Diagnostics/test/Diagnostics.Tests/__snapshots__/ActivityExecutionDiagnosticListenerTests.PersistedOperation_LoadsFromStorage_DefaultScopes.snap b/src/HotChocolate/Diagnostics/test/Diagnostics.Tests/__snapshots__/ActivityExecutionDiagnosticListenerTests.PersistedOperation_LoadsFromStorage_DefaultScopes.snap index b85b922a120..0927d2f47f4 100644 --- a/src/HotChocolate/Diagnostics/test/Diagnostics.Tests/__snapshots__/ActivityExecutionDiagnosticListenerTests.PersistedOperation_LoadsFromStorage_DefaultScopes.snap +++ b/src/HotChocolate/Diagnostics/test/Diagnostics.Tests/__snapshots__/ActivityExecutionDiagnosticListenerTests.PersistedOperation_LoadsFromStorage_DefaultScopes.snap @@ -3,6 +3,7 @@ { "OperationName": "GraphQL Document Validation", "DisplayName": "GraphQL Document Validation", + "Kind": "Internal", "Status": "Ok", "tags": [ { @@ -23,6 +24,7 @@ { "OperationName": "GraphQL Operation Planning", "DisplayName": "GraphQL Operation Planning", + "Kind": "Internal", "Status": "Ok", "tags": [ { @@ -47,6 +49,7 @@ { "OperationName": "SimpleQuery.sayHello", "DisplayName": "SimpleQuery.sayHello", + "Kind": "Internal", "Status": "Ok", "tags": [ { diff --git a/src/HotChocolate/Diagnostics/test/Diagnostics.Tests/__snapshots__/ActivityExecutionDiagnosticListenerTests.ResolverError_AtRootLevel_MarksOperationAsError.snap b/src/HotChocolate/Diagnostics/test/Diagnostics.Tests/__snapshots__/ActivityExecutionDiagnosticListenerTests.ResolverError_AtRootLevel_MarksOperationAsError.snap index 591ee9c573c..c19e0565d32 100644 --- a/src/HotChocolate/Diagnostics/test/Diagnostics.Tests/__snapshots__/ActivityExecutionDiagnosticListenerTests.ResolverError_AtRootLevel_MarksOperationAsError.snap +++ b/src/HotChocolate/Diagnostics/test/Diagnostics.Tests/__snapshots__/ActivityExecutionDiagnosticListenerTests.ResolverError_AtRootLevel_MarksOperationAsError.snap @@ -3,6 +3,7 @@ { "OperationName": "GraphQL Operation", "DisplayName": "query", + "Kind": "Internal", "Status": "Error", "tags": [ { @@ -18,8 +19,12 @@ "Value": "{\n causeFatalError\n}" }, { - "Key": "graphql.errors.count", + "Key": "graphql.error.count", "Value": 1 + }, + { + "Key": "error.type", + "Value": "EXECUTION_ERROR" } ], "event": [ @@ -36,6 +41,7 @@ { "OperationName": "GraphQL Document Parsing", "DisplayName": "GraphQL Document Parsing", + "Kind": "Internal", "Status": "Ok", "tags": [ { @@ -48,6 +54,7 @@ { "OperationName": "GraphQL Document Validation", "DisplayName": "GraphQL Document Validation", + "Kind": "Internal", "Status": "Ok", "tags": [ { @@ -64,6 +71,7 @@ { "OperationName": "GraphQL Operation Planning", "DisplayName": "GraphQL Operation Planning", + "Kind": "Internal", "Status": "Ok", "tags": [ { @@ -84,6 +92,7 @@ { "OperationName": "GraphQL Operation Execution", "DisplayName": "GraphQL Operation Execution", + "Kind": "Internal", "Status": "Error", "tags": [ { @@ -97,6 +106,10 @@ { "Key": "graphql.document.hash", "Value": "md5:ae3f9af1d2570e25f30a1ad002172b82" + }, + { + "Key": "error.type", + "Value": "EXECUTION_ERROR" } ], "event": [], @@ -104,6 +117,7 @@ { "OperationName": "SimpleQuery.causeFatalError", "DisplayName": "SimpleQuery.causeFatalError", + "Kind": "Internal", "Status": "Error", "tags": [ { @@ -129,11 +143,15 @@ { "Key": "graphql.selection.field.parent_type", "Value": "SimpleQuery" + }, + { + "Key": "error.type", + "Value": "GRAPHQL_ERROR" } ], "event": [ { - "Name": "exception", + "Name": "graphql.error", "Tags": [ { "Key": "graphql.error.message", @@ -142,6 +160,10 @@ { "Key": "graphql.error.path", "Value": "causeFatalError" + }, + { + "Key": "graphql.operation.type", + "Value": "query" } ] } diff --git a/src/HotChocolate/Diagnostics/test/Diagnostics.Tests/__snapshots__/ActivityExecutionDiagnosticListenerTests.ResolverError_DeepInTree_MarksNestedFieldAsError.snap b/src/HotChocolate/Diagnostics/test/Diagnostics.Tests/__snapshots__/ActivityExecutionDiagnosticListenerTests.ResolverError_DeepInTree_MarksNestedFieldAsError.snap index 87a16dadb9b..9b563c9f739 100644 --- a/src/HotChocolate/Diagnostics/test/Diagnostics.Tests/__snapshots__/ActivityExecutionDiagnosticListenerTests.ResolverError_DeepInTree_MarksNestedFieldAsError.snap +++ b/src/HotChocolate/Diagnostics/test/Diagnostics.Tests/__snapshots__/ActivityExecutionDiagnosticListenerTests.ResolverError_DeepInTree_MarksNestedFieldAsError.snap @@ -3,6 +3,7 @@ { "OperationName": "GraphQL Operation", "DisplayName": "GraphQL Operation", + "Kind": "Internal", "Status": "Error", "tags": [ { @@ -14,8 +15,12 @@ "Value": "{\n deep {\n deeper {\n deeps {\n deeper {\n causeFatalError\n }\n }\n }\n }\n}" }, { - "Key": "graphql.errors.count", + "Key": "graphql.error.count", "Value": 1 + }, + { + "Key": "error.type", + "Value": "EXECUTION_ERROR" } ], "event": [], @@ -23,6 +28,7 @@ { "OperationName": "GraphQL Document Parsing", "DisplayName": "GraphQL Document Parsing", + "Kind": "Internal", "Status": "Ok", "tags": [ { @@ -35,6 +41,7 @@ { "OperationName": "GraphQL Document Validation", "DisplayName": "GraphQL Document Validation", + "Kind": "Internal", "Status": "Error", "tags": [ { @@ -44,11 +51,15 @@ { "Key": "graphql.document.hash", "Value": "md5:2bf0466e723c1bad3a65089b6fb0dbfc" + }, + { + "Key": "error.type", + "Value": "GRAPHQL_ERROR" } ], "event": [ { - "Name": "exception", + "Name": "graphql.error", "Tags": [ { "Key": "graphql.error.message", diff --git a/src/HotChocolate/Diagnostics/test/Diagnostics.Tests/__snapshots__/ActivityExecutionDiagnosticListenerTests.SubscriptionEventError_Records_Subscription_Event_Error.snap b/src/HotChocolate/Diagnostics/test/Diagnostics.Tests/__snapshots__/ActivityExecutionDiagnosticListenerTests.SubscriptionEventError_Records_Subscription_Event_Error.snap index cfd86e3b007..a54746cc56f 100644 --- a/src/HotChocolate/Diagnostics/test/Diagnostics.Tests/__snapshots__/ActivityExecutionDiagnosticListenerTests.SubscriptionEventError_Records_Subscription_Event_Error.snap +++ b/src/HotChocolate/Diagnostics/test/Diagnostics.Tests/__snapshots__/ActivityExecutionDiagnosticListenerTests.SubscriptionEventError_Records_Subscription_Event_Error.snap @@ -3,6 +3,7 @@ { "OperationName": "GraphQL Operation", "DisplayName": "subscription", + "Kind": "Internal", "Status": "Ok", "tags": [ { @@ -32,6 +33,7 @@ { "OperationName": "GraphQL Document Parsing", "DisplayName": "GraphQL Document Parsing", + "Kind": "Internal", "Status": "Ok", "tags": [ { @@ -44,6 +46,7 @@ { "OperationName": "GraphQL Document Validation", "DisplayName": "GraphQL Document Validation", + "Kind": "Internal", "Status": "Ok", "tags": [ { @@ -60,6 +63,7 @@ { "OperationName": "GraphQL Operation Planning", "DisplayName": "GraphQL Operation Planning", + "Kind": "Internal", "Status": "Ok", "tags": [ { @@ -84,6 +88,7 @@ { "OperationName": "GraphQL Operation Execution", "DisplayName": "GraphQL Operation Execution", + "Kind": "Internal", "Status": "Ok", "tags": [ { @@ -108,6 +113,7 @@ { "OperationName": "GraphQL Subscription Event", "DisplayName": "GraphQL Subscription Event", + "Kind": "Internal", "Status": "Ok", "tags": [ { @@ -136,6 +142,7 @@ { "OperationName": "SimpleSubscription.onFailingMessage", "DisplayName": "SimpleSubscription.onFailingMessage", + "Kind": "Internal", "Status": "Error", "tags": [ { @@ -161,11 +168,15 @@ { "Key": "graphql.selection.field.parent_type", "Value": "SimpleSubscription" + }, + { + "Key": "error.type", + "Value": "System.InvalidOperationException" } ], "event": [ { - "Name": "exception", + "Name": "graphql.error", "Tags": [ { "Key": "graphql.error.message", @@ -186,6 +197,14 @@ { "Key": "graphql.error.path", "Value": "onFailingMessage" + }, + { + "Key": "graphql.operation.type", + "Value": "subscription" + }, + { + "Key": "graphql.operation.name", + "Value": "OnFailingMessageSubscription" } ] } diff --git a/src/HotChocolate/Diagnostics/test/Diagnostics.Tests/__snapshots__/ActivityExecutionDiagnosticListenerTests.SubscriptionEvent_Records_Subscription_Event_Span.snap b/src/HotChocolate/Diagnostics/test/Diagnostics.Tests/__snapshots__/ActivityExecutionDiagnosticListenerTests.SubscriptionEvent_Records_Subscription_Event_Span.snap index dab79a8bcac..64ee1b4e53a 100644 --- a/src/HotChocolate/Diagnostics/test/Diagnostics.Tests/__snapshots__/ActivityExecutionDiagnosticListenerTests.SubscriptionEvent_Records_Subscription_Event_Span.snap +++ b/src/HotChocolate/Diagnostics/test/Diagnostics.Tests/__snapshots__/ActivityExecutionDiagnosticListenerTests.SubscriptionEvent_Records_Subscription_Event_Span.snap @@ -3,6 +3,7 @@ { "OperationName": "GraphQL Operation", "DisplayName": "subscription", + "Kind": "Internal", "Status": "Ok", "tags": [ { @@ -32,6 +33,7 @@ { "OperationName": "GraphQL Document Parsing", "DisplayName": "GraphQL Document Parsing", + "Kind": "Internal", "Status": "Ok", "tags": [ { @@ -44,6 +46,7 @@ { "OperationName": "GraphQL Document Validation", "DisplayName": "GraphQL Document Validation", + "Kind": "Internal", "Status": "Ok", "tags": [ { @@ -60,6 +63,7 @@ { "OperationName": "GraphQL Operation Planning", "DisplayName": "GraphQL Operation Planning", + "Kind": "Internal", "Status": "Ok", "tags": [ { @@ -84,6 +88,7 @@ { "OperationName": "GraphQL Operation Execution", "DisplayName": "GraphQL Operation Execution", + "Kind": "Internal", "Status": "Ok", "tags": [ { @@ -108,6 +113,7 @@ { "OperationName": "GraphQL Subscription Event", "DisplayName": "GraphQL Subscription Event", + "Kind": "Internal", "Status": "Ok", "tags": [ { @@ -136,6 +142,7 @@ { "OperationName": "SimpleSubscription.onMessage", "DisplayName": "SimpleSubscription.onMessage", + "Kind": "Internal", "Status": "Ok", "tags": [ { diff --git a/src/HotChocolate/Diagnostics/test/Diagnostics.Tests/__snapshots__/ActivityExecutionDiagnosticListenerTests.Track_Events_Of_A_Simple_Query_Default.snap b/src/HotChocolate/Diagnostics/test/Diagnostics.Tests/__snapshots__/ActivityExecutionDiagnosticListenerTests.Track_Events_Of_A_Simple_Query_Default.snap index 2386d6e2307..09454b81189 100644 --- a/src/HotChocolate/Diagnostics/test/Diagnostics.Tests/__snapshots__/ActivityExecutionDiagnosticListenerTests.Track_Events_Of_A_Simple_Query_Default.snap +++ b/src/HotChocolate/Diagnostics/test/Diagnostics.Tests/__snapshots__/ActivityExecutionDiagnosticListenerTests.Track_Events_Of_A_Simple_Query_Default.snap @@ -3,6 +3,7 @@ { "OperationName": "GraphQL Document Validation", "DisplayName": "GraphQL Document Validation", + "Kind": "Internal", "Status": "Ok", "tags": [ { @@ -19,6 +20,7 @@ { "OperationName": "GraphQL Operation Planning", "DisplayName": "GraphQL Operation Planning", + "Kind": "Internal", "Status": "Ok", "tags": [ { @@ -39,6 +41,7 @@ { "OperationName": "SimpleQuery.sayHello", "DisplayName": "SimpleQuery.sayHello", + "Kind": "Internal", "Status": "Ok", "tags": [ { diff --git a/src/HotChocolate/Diagnostics/test/Diagnostics.Tests/__snapshots__/ActivityExecutionDiagnosticListenerTests.UntrustedDocumentRejected_RecordsEvent.snap b/src/HotChocolate/Diagnostics/test/Diagnostics.Tests/__snapshots__/ActivityExecutionDiagnosticListenerTests.UntrustedDocumentRejected_RecordsEvent.snap index 79183640227..380f4db9762 100644 --- a/src/HotChocolate/Diagnostics/test/Diagnostics.Tests/__snapshots__/ActivityExecutionDiagnosticListenerTests.UntrustedDocumentRejected_RecordsEvent.snap +++ b/src/HotChocolate/Diagnostics/test/Diagnostics.Tests/__snapshots__/ActivityExecutionDiagnosticListenerTests.UntrustedDocumentRejected_RecordsEvent.snap @@ -3,11 +3,16 @@ { "OperationName": "GraphQL Operation", "DisplayName": "GraphQL Operation", + "Kind": "Internal", "Status": "Error", "tags": [ { - "Key": "graphql.errors.count", + "Key": "graphql.error.count", "Value": 1 + }, + { + "Key": "error.type", + "Value": "EXECUTION_ERROR" } ], "event": [ diff --git a/src/HotChocolate/Diagnostics/test/Diagnostics.Tests/__snapshots__/ActivityExecutionDiagnosticListenerTests.ValidationError_UnknownField_ReportsErrorStatus.snap b/src/HotChocolate/Diagnostics/test/Diagnostics.Tests/__snapshots__/ActivityExecutionDiagnosticListenerTests.ValidationError_UnknownField_ReportsErrorStatus.snap index 37f19b96595..315cbd4bcb7 100644 --- a/src/HotChocolate/Diagnostics/test/Diagnostics.Tests/__snapshots__/ActivityExecutionDiagnosticListenerTests.ValidationError_UnknownField_ReportsErrorStatus.snap +++ b/src/HotChocolate/Diagnostics/test/Diagnostics.Tests/__snapshots__/ActivityExecutionDiagnosticListenerTests.ValidationError_UnknownField_ReportsErrorStatus.snap @@ -3,6 +3,7 @@ { "OperationName": "GraphQL Operation", "DisplayName": "GraphQL Operation", + "Kind": "Internal", "Status": "Error", "tags": [ { @@ -10,8 +11,12 @@ "Value": "md5:1526f207d516803b71eb8a0db419b57b" }, { - "Key": "graphql.errors.count", + "Key": "graphql.error.count", "Value": 1 + }, + { + "Key": "error.type", + "Value": "EXECUTION_ERROR" } ], "event": [], @@ -19,6 +24,7 @@ { "OperationName": "GraphQL Document Parsing", "DisplayName": "GraphQL Document Parsing", + "Kind": "Internal", "Status": "Ok", "tags": [ { @@ -31,6 +37,7 @@ { "OperationName": "GraphQL Document Validation", "DisplayName": "GraphQL Document Validation", + "Kind": "Internal", "Status": "Error", "tags": [ { @@ -40,11 +47,15 @@ { "Key": "graphql.document.hash", "Value": "md5:1526f207d516803b71eb8a0db419b57b" + }, + { + "Key": "error.type", + "Value": "GRAPHQL_ERROR" } ], "event": [ { - "Name": "exception", + "Name": "graphql.error", "Tags": [ { "Key": "graphql.error.message", diff --git a/src/HotChocolate/Diagnostics/test/Diagnostics.Tests/__snapshots__/ActivityExecutionDiagnosticListenerTests.VariableCoercion_WithAllScopes_RecordsCoercionSpan.snap b/src/HotChocolate/Diagnostics/test/Diagnostics.Tests/__snapshots__/ActivityExecutionDiagnosticListenerTests.VariableCoercion_WithAllScopes_RecordsCoercionSpan.snap index a8a858f7f66..86cc3eb36ce 100644 --- a/src/HotChocolate/Diagnostics/test/Diagnostics.Tests/__snapshots__/ActivityExecutionDiagnosticListenerTests.VariableCoercion_WithAllScopes_RecordsCoercionSpan.snap +++ b/src/HotChocolate/Diagnostics/test/Diagnostics.Tests/__snapshots__/ActivityExecutionDiagnosticListenerTests.VariableCoercion_WithAllScopes_RecordsCoercionSpan.snap @@ -3,6 +3,7 @@ { "OperationName": "GraphQL Operation", "DisplayName": "query", + "Kind": "Internal", "Status": "Ok", "tags": [ { @@ -14,7 +15,7 @@ "Value": "md5:c46cf8c9811934ddea095f10ee722dc4" }, { - "Key": "graphql.errors.count", + "Key": "graphql.error.count", "Value": 0 } ], @@ -32,6 +33,7 @@ { "OperationName": "GraphQL Document Parsing", "DisplayName": "GraphQL Document Parsing", + "Kind": "Internal", "Status": "Ok", "tags": [ { @@ -44,6 +46,7 @@ { "OperationName": "GraphQL Document Validation", "DisplayName": "GraphQL Document Validation", + "Kind": "Internal", "Status": "Ok", "tags": [ { @@ -60,6 +63,7 @@ { "OperationName": "GraphQL Operation Planning", "DisplayName": "GraphQL Operation Planning", + "Kind": "Internal", "Status": "Ok", "tags": [ { @@ -80,6 +84,7 @@ { "OperationName": "GraphQL Variable Coercion", "DisplayName": "GraphQL Variable Coercion", + "Kind": "Internal", "Status": "Ok", "tags": [ { @@ -100,6 +105,7 @@ { "OperationName": "GraphQL Operation Execution", "DisplayName": "GraphQL Operation Execution", + "Kind": "Internal", "Status": "Ok", "tags": [ { @@ -120,6 +126,7 @@ { "OperationName": "SimpleQuery.greeting", "DisplayName": "SimpleQuery.greeting", + "Kind": "Internal", "Status": "Ok", "tags": [ { diff --git a/src/HotChocolate/Diagnostics/test/Diagnostics.Tests/__snapshots__/ActivityServerDiagnosticListenerTests.Http_Get_SDL_Download.snap b/src/HotChocolate/Diagnostics/test/Diagnostics.Tests/__snapshots__/ActivityServerDiagnosticListenerTests.Http_Get_SDL_Download.snap index d77edd7831a..58586983eef 100644 --- a/src/HotChocolate/Diagnostics/test/Diagnostics.Tests/__snapshots__/ActivityServerDiagnosticListenerTests.Http_Get_SDL_Download.snap +++ b/src/HotChocolate/Diagnostics/test/Diagnostics.Tests/__snapshots__/ActivityServerDiagnosticListenerTests.Http_Get_SDL_Download.snap @@ -3,6 +3,7 @@ { "OperationName": "ExecuteHttpRequest", "DisplayName": "GraphQL HTTP GET SDL", + "Kind": "Internal", "Status": "Ok", "tags": [ { diff --git a/src/HotChocolate/Diagnostics/test/Diagnostics.Tests/__snapshots__/ActivityServerDiagnosticListenerTests.Http_Get_SingleRequest_GetHeroName.snap b/src/HotChocolate/Diagnostics/test/Diagnostics.Tests/__snapshots__/ActivityServerDiagnosticListenerTests.Http_Get_SingleRequest_GetHeroName.snap index 9dd55c0e636..1f232559a17 100644 --- a/src/HotChocolate/Diagnostics/test/Diagnostics.Tests/__snapshots__/ActivityServerDiagnosticListenerTests.Http_Get_SingleRequest_GetHeroName.snap +++ b/src/HotChocolate/Diagnostics/test/Diagnostics.Tests/__snapshots__/ActivityServerDiagnosticListenerTests.Http_Get_SingleRequest_GetHeroName.snap @@ -3,6 +3,7 @@ { "OperationName": "ExecuteHttpRequest", "DisplayName": "GraphQL HTTP GET", + "Kind": "Internal", "Status": "Ok", "tags": [ { @@ -27,6 +28,7 @@ { "OperationName": "Parse HTTP Request", "DisplayName": "Parse HTTP Request", + "Kind": "Internal", "Status": "Ok", "tags": [], "event": [] @@ -34,6 +36,7 @@ { "OperationName": "GraphQL Operation", "DisplayName": "query", + "Kind": "Internal", "Status": "Ok", "tags": [ { @@ -45,7 +48,7 @@ "Value": "md5:acb8d5d513c260b3cef3e3a12b0e29af" }, { - "Key": "graphql.errors.count", + "Key": "graphql.error.count", "Value": 0 } ], @@ -63,6 +66,7 @@ { "OperationName": "GraphQL Document Validation", "DisplayName": "GraphQL Document Validation", + "Kind": "Internal", "Status": "Ok", "tags": [ { @@ -79,6 +83,7 @@ { "OperationName": "GraphQL Complexity Analysis", "DisplayName": "GraphQL Complexity Analysis", + "Kind": "Internal", "Status": "Ok", "tags": [ { @@ -99,6 +104,7 @@ { "OperationName": "GraphQL Operation Planning", "DisplayName": "GraphQL Operation Planning", + "Kind": "Internal", "Status": "Ok", "tags": [ { @@ -119,6 +125,7 @@ { "OperationName": "GraphQL Operation Execution", "DisplayName": "GraphQL Operation Execution", + "Kind": "Internal", "Status": "Ok", "tags": [ { @@ -139,6 +146,7 @@ { "OperationName": "Query.hero", "DisplayName": "Query.hero", + "Kind": "Internal", "Status": "Ok", "tags": [ { @@ -175,6 +183,7 @@ { "OperationName": "Format HTTP Response", "DisplayName": "Format HTTP Response", + "Kind": "Internal", "Status": "Ok", "tags": [], "event": [] diff --git a/src/HotChocolate/Diagnostics/test/Diagnostics.Tests/__snapshots__/ActivityServerDiagnosticListenerTests.Http_Post_Add_Variables_To_Http_Activity.snap b/src/HotChocolate/Diagnostics/test/Diagnostics.Tests/__snapshots__/ActivityServerDiagnosticListenerTests.Http_Post_Add_Variables_To_Http_Activity.snap index 9258b54fb98..6d773b9d792 100644 --- a/src/HotChocolate/Diagnostics/test/Diagnostics.Tests/__snapshots__/ActivityServerDiagnosticListenerTests.Http_Post_Add_Variables_To_Http_Activity.snap +++ b/src/HotChocolate/Diagnostics/test/Diagnostics.Tests/__snapshots__/ActivityServerDiagnosticListenerTests.Http_Post_Add_Variables_To_Http_Activity.snap @@ -3,6 +3,7 @@ { "OperationName": "ExecuteHttpRequest", "DisplayName": "GraphQL HTTP POST", + "Kind": "Internal", "Status": "Ok", "tags": [ { @@ -35,6 +36,7 @@ { "OperationName": "Parse HTTP Request", "DisplayName": "Parse HTTP Request", + "Kind": "Internal", "Status": "Ok", "tags": [], "event": [] @@ -42,6 +44,7 @@ { "OperationName": "GraphQL Operation", "DisplayName": "query", + "Kind": "Internal", "Status": "Ok", "tags": [ { @@ -53,7 +56,7 @@ "Value": "md5:cc68dfd8c0c54a586a03c35296c5d1f9" }, { - "Key": "graphql.errors.count", + "Key": "graphql.error.count", "Value": 0 } ], @@ -71,6 +74,7 @@ { "OperationName": "GraphQL Document Validation", "DisplayName": "GraphQL Document Validation", + "Kind": "Internal", "Status": "Ok", "tags": [ { @@ -87,6 +91,7 @@ { "OperationName": "GraphQL Complexity Analysis", "DisplayName": "GraphQL Complexity Analysis", + "Kind": "Internal", "Status": "Ok", "tags": [ { @@ -107,6 +112,7 @@ { "OperationName": "GraphQL Operation Planning", "DisplayName": "GraphQL Operation Planning", + "Kind": "Internal", "Status": "Ok", "tags": [ { @@ -127,6 +133,7 @@ { "OperationName": "GraphQL Variable Coercion", "DisplayName": "GraphQL Variable Coercion", + "Kind": "Internal", "Status": "Ok", "tags": [ { @@ -147,6 +154,7 @@ { "OperationName": "GraphQL Operation Execution", "DisplayName": "GraphQL Operation Execution", + "Kind": "Internal", "Status": "Ok", "tags": [ { @@ -167,6 +175,7 @@ { "OperationName": "Query.hero", "DisplayName": "Query.hero", + "Kind": "Internal", "Status": "Ok", "tags": [ { @@ -203,6 +212,7 @@ { "OperationName": "Format HTTP Response", "DisplayName": "Format HTTP Response", + "Kind": "Internal", "Status": "Ok", "tags": [], "event": [] diff --git a/src/HotChocolate/Diagnostics/test/Diagnostics.Tests/__snapshots__/ActivityServerDiagnosticListenerTests.Http_Post_Capture_Deferred_Response.snap b/src/HotChocolate/Diagnostics/test/Diagnostics.Tests/__snapshots__/ActivityServerDiagnosticListenerTests.Http_Post_Capture_Deferred_Response.snap index 16356a5b239..353c9706fb3 100644 --- a/src/HotChocolate/Diagnostics/test/Diagnostics.Tests/__snapshots__/ActivityServerDiagnosticListenerTests.Http_Post_Capture_Deferred_Response.snap +++ b/src/HotChocolate/Diagnostics/test/Diagnostics.Tests/__snapshots__/ActivityServerDiagnosticListenerTests.Http_Post_Capture_Deferred_Response.snap @@ -3,6 +3,7 @@ { "OperationName": "ExecuteHttpRequest", "DisplayName": "GraphQL HTTP POST", + "Kind": "Internal", "Status": "Ok", "tags": [ { @@ -31,6 +32,7 @@ { "OperationName": "Parse HTTP Request", "DisplayName": "Parse HTTP Request", + "Kind": "Internal", "Status": "Ok", "tags": [], "event": [] @@ -38,6 +40,7 @@ { "OperationName": "GraphQL Operation", "DisplayName": "query", + "Kind": "Internal", "Status": "Ok", "tags": [ { @@ -63,6 +66,7 @@ { "OperationName": "GraphQL Document Validation", "DisplayName": "GraphQL Document Validation", + "Kind": "Internal", "Status": "Ok", "tags": [ { @@ -79,6 +83,7 @@ { "OperationName": "GraphQL Complexity Analysis", "DisplayName": "GraphQL Complexity Analysis", + "Kind": "Internal", "Status": "Ok", "tags": [ { @@ -99,6 +104,7 @@ { "OperationName": "GraphQL Operation Planning", "DisplayName": "GraphQL Operation Planning", + "Kind": "Internal", "Status": "Ok", "tags": [ { @@ -119,6 +125,7 @@ { "OperationName": "GraphQL Operation Execution", "DisplayName": "GraphQL Operation Execution", + "Kind": "Internal", "Status": "Ok", "tags": [ { @@ -139,6 +146,7 @@ { "OperationName": "Query.hero", "DisplayName": "Query.hero", + "Kind": "Internal", "Status": "Ok", "tags": [ { @@ -171,6 +179,7 @@ { "OperationName": "Droid.id", "DisplayName": "Droid.id", + "Kind": "Internal", "Status": "Ok", "tags": [ { diff --git a/src/HotChocolate/Diagnostics/test/Diagnostics.Tests/__snapshots__/ActivityServerDiagnosticListenerTests.Http_Post_Ensure_List_Path_Is_Correctly_Built.snap b/src/HotChocolate/Diagnostics/test/Diagnostics.Tests/__snapshots__/ActivityServerDiagnosticListenerTests.Http_Post_Ensure_List_Path_Is_Correctly_Built.snap index 140af3da26a..6755ab12bd2 100644 --- a/src/HotChocolate/Diagnostics/test/Diagnostics.Tests/__snapshots__/ActivityServerDiagnosticListenerTests.Http_Post_Ensure_List_Path_Is_Correctly_Built.snap +++ b/src/HotChocolate/Diagnostics/test/Diagnostics.Tests/__snapshots__/ActivityServerDiagnosticListenerTests.Http_Post_Ensure_List_Path_Is_Correctly_Built.snap @@ -3,6 +3,7 @@ { "OperationName": "ExecuteHttpRequest", "DisplayName": "GraphQL HTTP POST", + "Kind": "Internal", "Status": "Ok", "tags": [ { @@ -31,6 +32,7 @@ { "OperationName": "Parse HTTP Request", "DisplayName": "Parse HTTP Request", + "Kind": "Internal", "Status": "Ok", "tags": [], "event": [] @@ -38,6 +40,7 @@ { "OperationName": "GraphQL Operation", "DisplayName": "query", + "Kind": "Internal", "Status": "Ok", "tags": [ { @@ -49,7 +52,7 @@ "Value": "md5:668e9631148921208d08dbb69513fa8e" }, { - "Key": "graphql.errors.count", + "Key": "graphql.error.count", "Value": 0 } ], @@ -67,6 +70,7 @@ { "OperationName": "GraphQL Document Validation", "DisplayName": "GraphQL Document Validation", + "Kind": "Internal", "Status": "Ok", "tags": [ { @@ -83,6 +87,7 @@ { "OperationName": "GraphQL Complexity Analysis", "DisplayName": "GraphQL Complexity Analysis", + "Kind": "Internal", "Status": "Ok", "tags": [ { @@ -103,6 +108,7 @@ { "OperationName": "GraphQL Operation Planning", "DisplayName": "GraphQL Operation Planning", + "Kind": "Internal", "Status": "Ok", "tags": [ { @@ -123,6 +129,7 @@ { "OperationName": "GraphQL Operation Execution", "DisplayName": "GraphQL Operation Execution", + "Kind": "Internal", "Status": "Ok", "tags": [ { @@ -143,6 +150,7 @@ { "OperationName": "Query.hero", "DisplayName": "Query.hero", + "Kind": "Internal", "Status": "Ok", "tags": [ { @@ -175,6 +183,7 @@ { "OperationName": "Droid.friends", "DisplayName": "Droid.friends", + "Kind": "Internal", "Status": "Ok", "tags": [ { @@ -207,6 +216,7 @@ { "OperationName": "Human.friends", "DisplayName": "Human.friends", + "Kind": "Internal", "Status": "Ok", "tags": [ { @@ -239,6 +249,7 @@ { "OperationName": "Human.friends", "DisplayName": "Human.friends", + "Kind": "Internal", "Status": "Ok", "tags": [ { @@ -271,6 +282,7 @@ { "OperationName": "Human.friends", "DisplayName": "Human.friends", + "Kind": "Internal", "Status": "Ok", "tags": [ { @@ -307,6 +319,7 @@ { "OperationName": "Format HTTP Response", "DisplayName": "Format HTTP Response", + "Kind": "Internal", "Status": "Ok", "tags": [], "event": [] diff --git a/src/HotChocolate/Diagnostics/test/Diagnostics.Tests/__snapshots__/ActivityServerDiagnosticListenerTests.Http_Post_Parser_Error.snap b/src/HotChocolate/Diagnostics/test/Diagnostics.Tests/__snapshots__/ActivityServerDiagnosticListenerTests.Http_Post_Parser_Error.snap index 774711bad83..3263317b4a1 100644 --- a/src/HotChocolate/Diagnostics/test/Diagnostics.Tests/__snapshots__/ActivityServerDiagnosticListenerTests.Http_Post_Parser_Error.snap +++ b/src/HotChocolate/Diagnostics/test/Diagnostics.Tests/__snapshots__/ActivityServerDiagnosticListenerTests.Http_Post_Parser_Error.snap @@ -3,6 +3,7 @@ { "OperationName": "ExecuteHttpRequest", "DisplayName": "GraphQL HTTP POST", + "Kind": "Internal", "Status": "Ok", "tags": [ { @@ -19,11 +20,17 @@ { "OperationName": "Parse HTTP Request", "DisplayName": "Parse HTTP Request", + "Kind": "Internal", "Status": "Error", - "tags": [], + "tags": [ + { + "Key": "error.type", + "Value": "HC0011" + } + ], "event": [ { - "Name": "exception", + "Name": "graphql.error", "Tags": [ { "Key": "graphql.error.message", @@ -49,6 +56,7 @@ { "OperationName": "Format HTTP Response", "DisplayName": "Format HTTP Response", + "Kind": "Internal", "Status": "Ok", "tags": [], "event": [] diff --git a/src/HotChocolate/Diagnostics/test/Diagnostics.Tests/__snapshots__/ActivityServerDiagnosticListenerTests.Http_Post_SingleRequest_GetHeroName.snap b/src/HotChocolate/Diagnostics/test/Diagnostics.Tests/__snapshots__/ActivityServerDiagnosticListenerTests.Http_Post_SingleRequest_GetHeroName.snap index 6c4d0734597..0ba5bd3b784 100644 --- a/src/HotChocolate/Diagnostics/test/Diagnostics.Tests/__snapshots__/ActivityServerDiagnosticListenerTests.Http_Post_SingleRequest_GetHeroName.snap +++ b/src/HotChocolate/Diagnostics/test/Diagnostics.Tests/__snapshots__/ActivityServerDiagnosticListenerTests.Http_Post_SingleRequest_GetHeroName.snap @@ -3,6 +3,7 @@ { "OperationName": "ExecuteHttpRequest", "DisplayName": "GraphQL HTTP POST", + "Kind": "Internal", "Status": "Ok", "tags": [ { @@ -31,6 +32,7 @@ { "OperationName": "Parse HTTP Request", "DisplayName": "Parse HTTP Request", + "Kind": "Internal", "Status": "Ok", "tags": [], "event": [] @@ -38,6 +40,7 @@ { "OperationName": "GraphQL Operation", "DisplayName": "query", + "Kind": "Internal", "Status": "Ok", "tags": [ { @@ -49,7 +52,7 @@ "Value": "md5:acb8d5d513c260b3cef3e3a12b0e29af" }, { - "Key": "graphql.errors.count", + "Key": "graphql.error.count", "Value": 0 } ], @@ -67,6 +70,7 @@ { "OperationName": "GraphQL Document Validation", "DisplayName": "GraphQL Document Validation", + "Kind": "Internal", "Status": "Ok", "tags": [ { @@ -83,6 +87,7 @@ { "OperationName": "GraphQL Complexity Analysis", "DisplayName": "GraphQL Complexity Analysis", + "Kind": "Internal", "Status": "Ok", "tags": [ { @@ -103,6 +108,7 @@ { "OperationName": "GraphQL Operation Planning", "DisplayName": "GraphQL Operation Planning", + "Kind": "Internal", "Status": "Ok", "tags": [ { @@ -123,6 +129,7 @@ { "OperationName": "GraphQL Operation Execution", "DisplayName": "GraphQL Operation Execution", + "Kind": "Internal", "Status": "Ok", "tags": [ { @@ -143,6 +150,7 @@ { "OperationName": "Query.hero", "DisplayName": "Query.hero", + "Kind": "Internal", "Status": "Ok", "tags": [ { @@ -179,6 +187,7 @@ { "OperationName": "Format HTTP Response", "DisplayName": "Format HTTP Response", + "Kind": "Internal", "Status": "Ok", "tags": [], "event": [] diff --git a/src/HotChocolate/Diagnostics/test/Diagnostics.Tests/__snapshots__/ActivityServerDiagnosticListenerTests.Http_Post_SingleRequest_GetHeroName_Default.snap b/src/HotChocolate/Diagnostics/test/Diagnostics.Tests/__snapshots__/ActivityServerDiagnosticListenerTests.Http_Post_SingleRequest_GetHeroName_Default.snap index 14efd5445b8..990ad1ac22b 100644 --- a/src/HotChocolate/Diagnostics/test/Diagnostics.Tests/__snapshots__/ActivityServerDiagnosticListenerTests.Http_Post_SingleRequest_GetHeroName_Default.snap +++ b/src/HotChocolate/Diagnostics/test/Diagnostics.Tests/__snapshots__/ActivityServerDiagnosticListenerTests.Http_Post_SingleRequest_GetHeroName_Default.snap @@ -3,6 +3,7 @@ { "OperationName": "ExecuteHttpRequest", "DisplayName": "query", + "Kind": "Internal", "Status": "Ok", "tags": [ { @@ -34,7 +35,7 @@ "Value": "md5:acb8d5d513c260b3cef3e3a12b0e29af" }, { - "Key": "graphql.errors.count", + "Key": "graphql.error.count", "Value": 0 } ], @@ -52,6 +53,7 @@ { "OperationName": "Parse HTTP Request", "DisplayName": "Parse HTTP Request", + "Kind": "Internal", "Status": "Ok", "tags": [], "event": [] @@ -59,6 +61,7 @@ { "OperationName": "GraphQL Document Validation", "DisplayName": "GraphQL Document Validation", + "Kind": "Internal", "Status": "Ok", "tags": [ { @@ -75,6 +78,7 @@ { "OperationName": "GraphQL Operation Planning", "DisplayName": "GraphQL Operation Planning", + "Kind": "Internal", "Status": "Ok", "tags": [ { @@ -95,6 +99,7 @@ { "OperationName": "Query.hero", "DisplayName": "Query.hero", + "Kind": "Internal", "Status": "Ok", "tags": [ { @@ -127,6 +132,7 @@ { "OperationName": "Format HTTP Response", "DisplayName": "Format HTTP Response", + "Kind": "Internal", "Status": "Ok", "tags": [], "event": [] diff --git a/src/HotChocolate/Diagnostics/test/Diagnostics.Tests/__snapshots__/ActivityServerDiagnosticListenerTests.Http_Post_Variables_Are_Not_Automatically_Added_To_Activities.snap b/src/HotChocolate/Diagnostics/test/Diagnostics.Tests/__snapshots__/ActivityServerDiagnosticListenerTests.Http_Post_Variables_Are_Not_Automatically_Added_To_Activities.snap index f8c30060353..5a164354cb3 100644 --- a/src/HotChocolate/Diagnostics/test/Diagnostics.Tests/__snapshots__/ActivityServerDiagnosticListenerTests.Http_Post_Variables_Are_Not_Automatically_Added_To_Activities.snap +++ b/src/HotChocolate/Diagnostics/test/Diagnostics.Tests/__snapshots__/ActivityServerDiagnosticListenerTests.Http_Post_Variables_Are_Not_Automatically_Added_To_Activities.snap @@ -3,6 +3,7 @@ { "OperationName": "ExecuteHttpRequest", "DisplayName": "GraphQL HTTP POST", + "Kind": "Internal", "Status": "Ok", "tags": [ { @@ -31,6 +32,7 @@ { "OperationName": "Parse HTTP Request", "DisplayName": "Parse HTTP Request", + "Kind": "Internal", "Status": "Ok", "tags": [], "event": [] @@ -38,6 +40,7 @@ { "OperationName": "GraphQL Operation", "DisplayName": "query", + "Kind": "Internal", "Status": "Ok", "tags": [ { @@ -49,7 +52,7 @@ "Value": "md5:cc68dfd8c0c54a586a03c35296c5d1f9" }, { - "Key": "graphql.errors.count", + "Key": "graphql.error.count", "Value": 0 } ], @@ -67,6 +70,7 @@ { "OperationName": "GraphQL Document Validation", "DisplayName": "GraphQL Document Validation", + "Kind": "Internal", "Status": "Ok", "tags": [ { @@ -83,6 +87,7 @@ { "OperationName": "GraphQL Complexity Analysis", "DisplayName": "GraphQL Complexity Analysis", + "Kind": "Internal", "Status": "Ok", "tags": [ { @@ -103,6 +108,7 @@ { "OperationName": "GraphQL Operation Planning", "DisplayName": "GraphQL Operation Planning", + "Kind": "Internal", "Status": "Ok", "tags": [ { @@ -123,6 +129,7 @@ { "OperationName": "GraphQL Variable Coercion", "DisplayName": "GraphQL Variable Coercion", + "Kind": "Internal", "Status": "Ok", "tags": [ { @@ -143,6 +150,7 @@ { "OperationName": "GraphQL Operation Execution", "DisplayName": "GraphQL Operation Execution", + "Kind": "Internal", "Status": "Ok", "tags": [ { @@ -163,6 +171,7 @@ { "OperationName": "Query.hero", "DisplayName": "Query.hero", + "Kind": "Internal", "Status": "Ok", "tags": [ { @@ -199,6 +208,7 @@ { "OperationName": "Format HTTP Response", "DisplayName": "Format HTTP Response", + "Kind": "Internal", "Status": "Ok", "tags": [], "event": [] diff --git a/src/HotChocolate/Diagnostics/test/Diagnostics.Tests/__snapshots__/ActivityServerDiagnosticListenerTests.Http_Post_With_Extensions_Map.snap b/src/HotChocolate/Diagnostics/test/Diagnostics.Tests/__snapshots__/ActivityServerDiagnosticListenerTests.Http_Post_With_Extensions_Map.snap index 212b8197d7f..cab8e010068 100644 --- a/src/HotChocolate/Diagnostics/test/Diagnostics.Tests/__snapshots__/ActivityServerDiagnosticListenerTests.Http_Post_With_Extensions_Map.snap +++ b/src/HotChocolate/Diagnostics/test/Diagnostics.Tests/__snapshots__/ActivityServerDiagnosticListenerTests.Http_Post_With_Extensions_Map.snap @@ -3,6 +3,7 @@ { "OperationName": "ExecuteHttpRequest", "DisplayName": "GraphQL HTTP POST", + "Kind": "Internal", "Status": "Ok", "tags": [ { @@ -35,6 +36,7 @@ { "OperationName": "Parse HTTP Request", "DisplayName": "Parse HTTP Request", + "Kind": "Internal", "Status": "Ok", "tags": [], "event": [] @@ -42,6 +44,7 @@ { "OperationName": "GraphQL Operation", "DisplayName": "query", + "Kind": "Internal", "Status": "Ok", "tags": [ { @@ -53,7 +56,7 @@ "Value": "md5:cc68dfd8c0c54a586a03c35296c5d1f9" }, { - "Key": "graphql.errors.count", + "Key": "graphql.error.count", "Value": 0 } ], @@ -71,6 +74,7 @@ { "OperationName": "GraphQL Document Validation", "DisplayName": "GraphQL Document Validation", + "Kind": "Internal", "Status": "Ok", "tags": [ { @@ -87,6 +91,7 @@ { "OperationName": "GraphQL Complexity Analysis", "DisplayName": "GraphQL Complexity Analysis", + "Kind": "Internal", "Status": "Ok", "tags": [ { @@ -107,6 +112,7 @@ { "OperationName": "GraphQL Operation Planning", "DisplayName": "GraphQL Operation Planning", + "Kind": "Internal", "Status": "Ok", "tags": [ { @@ -127,6 +133,7 @@ { "OperationName": "GraphQL Variable Coercion", "DisplayName": "GraphQL Variable Coercion", + "Kind": "Internal", "Status": "Ok", "tags": [ { @@ -147,6 +154,7 @@ { "OperationName": "GraphQL Operation Execution", "DisplayName": "GraphQL Operation Execution", + "Kind": "Internal", "Status": "Ok", "tags": [ { @@ -167,6 +175,7 @@ { "OperationName": "Query.hero", "DisplayName": "Query.hero", + "Kind": "Internal", "Status": "Ok", "tags": [ { @@ -203,6 +212,7 @@ { "OperationName": "Format HTTP Response", "DisplayName": "Format HTTP Response", + "Kind": "Internal", "Status": "Ok", "tags": [], "event": [] diff --git a/src/HotChocolate/Diagnostics/test/Diagnostics.Tests/__snapshots__/ActivityServerDiagnosticListenerTests.RequestDetails_All_IncludesAllDetails.snap b/src/HotChocolate/Diagnostics/test/Diagnostics.Tests/__snapshots__/ActivityServerDiagnosticListenerTests.RequestDetails_All_IncludesAllDetails.snap index 40eb6d8cbf6..d4bdd7b61e8 100644 --- a/src/HotChocolate/Diagnostics/test/Diagnostics.Tests/__snapshots__/ActivityServerDiagnosticListenerTests.RequestDetails_All_IncludesAllDetails.snap +++ b/src/HotChocolate/Diagnostics/test/Diagnostics.Tests/__snapshots__/ActivityServerDiagnosticListenerTests.RequestDetails_All_IncludesAllDetails.snap @@ -3,6 +3,7 @@ { "OperationName": "ExecuteHttpRequest", "DisplayName": "GraphQL HTTP POST", + "Kind": "Internal", "Status": "Ok", "tags": [ { @@ -43,6 +44,7 @@ { "OperationName": "Parse HTTP Request", "DisplayName": "Parse HTTP Request", + "Kind": "Internal", "Status": "Ok", "tags": [], "event": [] @@ -50,6 +52,7 @@ { "OperationName": "GraphQL Operation", "DisplayName": "query", + "Kind": "Internal", "Status": "Ok", "tags": [ { @@ -65,7 +68,7 @@ "Value": "md5:9335388c19fd2e230b6294a596d13a93" }, { - "Key": "graphql.errors.count", + "Key": "graphql.error.count", "Value": 0 } ], @@ -83,6 +86,7 @@ { "OperationName": "GraphQL Document Validation", "DisplayName": "GraphQL Document Validation", + "Kind": "Internal", "Status": "Ok", "tags": [ { @@ -99,6 +103,7 @@ { "OperationName": "GraphQL Complexity Analysis", "DisplayName": "GraphQL Complexity Analysis", + "Kind": "Internal", "Status": "Ok", "tags": [ { @@ -119,6 +124,7 @@ { "OperationName": "GraphQL Operation Planning", "DisplayName": "GraphQL Operation Planning", + "Kind": "Internal", "Status": "Ok", "tags": [ { @@ -143,6 +149,7 @@ { "OperationName": "GraphQL Variable Coercion", "DisplayName": "GraphQL Variable Coercion", + "Kind": "Internal", "Status": "Ok", "tags": [ { @@ -167,6 +174,7 @@ { "OperationName": "GraphQL Operation Execution", "DisplayName": "GraphQL Operation Execution", + "Kind": "Internal", "Status": "Ok", "tags": [ { @@ -191,6 +199,7 @@ { "OperationName": "Query.hero", "DisplayName": "Query.hero", + "Kind": "Internal", "Status": "Ok", "tags": [ { @@ -227,6 +236,7 @@ { "OperationName": "Format HTTP Response", "DisplayName": "Format HTTP Response", + "Kind": "Internal", "Status": "Ok", "tags": [], "event": [] diff --git a/src/HotChocolate/Diagnostics/test/Diagnostics.Tests/__snapshots__/ActivityServerDiagnosticListenerTests.RequestDetails_Default_IncludesIdHashOperationNameExtensions.snap b/src/HotChocolate/Diagnostics/test/Diagnostics.Tests/__snapshots__/ActivityServerDiagnosticListenerTests.RequestDetails_Default_IncludesIdHashOperationNameExtensions.snap index ecd9233bcb1..601ec4c1769 100644 --- a/src/HotChocolate/Diagnostics/test/Diagnostics.Tests/__snapshots__/ActivityServerDiagnosticListenerTests.RequestDetails_Default_IncludesIdHashOperationNameExtensions.snap +++ b/src/HotChocolate/Diagnostics/test/Diagnostics.Tests/__snapshots__/ActivityServerDiagnosticListenerTests.RequestDetails_Default_IncludesIdHashOperationNameExtensions.snap @@ -3,6 +3,7 @@ { "OperationName": "ExecuteHttpRequest", "DisplayName": "GraphQL HTTP POST", + "Kind": "Internal", "Status": "Ok", "tags": [ { @@ -35,6 +36,7 @@ { "OperationName": "Parse HTTP Request", "DisplayName": "Parse HTTP Request", + "Kind": "Internal", "Status": "Ok", "tags": [], "event": [] @@ -42,6 +44,7 @@ { "OperationName": "GraphQL Operation", "DisplayName": "query", + "Kind": "Internal", "Status": "Ok", "tags": [ { @@ -57,7 +60,7 @@ "Value": "md5:06731ff10fea3ec8e9b2aabceee6ddd9" }, { - "Key": "graphql.errors.count", + "Key": "graphql.error.count", "Value": 0 } ], @@ -75,6 +78,7 @@ { "OperationName": "GraphQL Document Validation", "DisplayName": "GraphQL Document Validation", + "Kind": "Internal", "Status": "Ok", "tags": [ { @@ -91,6 +95,7 @@ { "OperationName": "GraphQL Complexity Analysis", "DisplayName": "GraphQL Complexity Analysis", + "Kind": "Internal", "Status": "Ok", "tags": [ { @@ -111,6 +116,7 @@ { "OperationName": "GraphQL Operation Planning", "DisplayName": "GraphQL Operation Planning", + "Kind": "Internal", "Status": "Ok", "tags": [ { @@ -135,6 +141,7 @@ { "OperationName": "GraphQL Operation Execution", "DisplayName": "GraphQL Operation Execution", + "Kind": "Internal", "Status": "Ok", "tags": [ { @@ -159,6 +166,7 @@ { "OperationName": "Query.hero", "DisplayName": "Query.hero", + "Kind": "Internal", "Status": "Ok", "tags": [ { @@ -195,6 +203,7 @@ { "OperationName": "Format HTTP Response", "DisplayName": "Format HTTP Response", + "Kind": "Internal", "Status": "Ok", "tags": [], "event": [] diff --git a/src/HotChocolate/Diagnostics/test/Diagnostics.Tests/__snapshots__/ActivityServerDiagnosticListenerTests.RequestDetails_DocumentOnly_IncludesDocumentTag.snap b/src/HotChocolate/Diagnostics/test/Diagnostics.Tests/__snapshots__/ActivityServerDiagnosticListenerTests.RequestDetails_DocumentOnly_IncludesDocumentTag.snap index ba5160a8df0..ddbc6994f23 100644 --- a/src/HotChocolate/Diagnostics/test/Diagnostics.Tests/__snapshots__/ActivityServerDiagnosticListenerTests.RequestDetails_DocumentOnly_IncludesDocumentTag.snap +++ b/src/HotChocolate/Diagnostics/test/Diagnostics.Tests/__snapshots__/ActivityServerDiagnosticListenerTests.RequestDetails_DocumentOnly_IncludesDocumentTag.snap @@ -3,6 +3,7 @@ { "OperationName": "ExecuteHttpRequest", "DisplayName": "GraphQL HTTP POST", + "Kind": "Internal", "Status": "Ok", "tags": [ { @@ -27,6 +28,7 @@ { "OperationName": "Parse HTTP Request", "DisplayName": "Parse HTTP Request", + "Kind": "Internal", "Status": "Ok", "tags": [], "event": [] @@ -34,6 +36,7 @@ { "OperationName": "GraphQL Operation", "DisplayName": "query", + "Kind": "Internal", "Status": "Ok", "tags": [ { @@ -45,7 +48,7 @@ "Value": "md5:acb8d5d513c260b3cef3e3a12b0e29af" }, { - "Key": "graphql.errors.count", + "Key": "graphql.error.count", "Value": 0 } ], @@ -63,6 +66,7 @@ { "OperationName": "GraphQL Document Validation", "DisplayName": "GraphQL Document Validation", + "Kind": "Internal", "Status": "Ok", "tags": [ { @@ -79,6 +83,7 @@ { "OperationName": "GraphQL Complexity Analysis", "DisplayName": "GraphQL Complexity Analysis", + "Kind": "Internal", "Status": "Ok", "tags": [ { @@ -99,6 +104,7 @@ { "OperationName": "GraphQL Operation Planning", "DisplayName": "GraphQL Operation Planning", + "Kind": "Internal", "Status": "Ok", "tags": [ { @@ -119,6 +125,7 @@ { "OperationName": "GraphQL Operation Execution", "DisplayName": "GraphQL Operation Execution", + "Kind": "Internal", "Status": "Ok", "tags": [ { @@ -139,6 +146,7 @@ { "OperationName": "Query.hero", "DisplayName": "Query.hero", + "Kind": "Internal", "Status": "Ok", "tags": [ { @@ -175,6 +183,7 @@ { "OperationName": "Format HTTP Response", "DisplayName": "Format HTTP Response", + "Kind": "Internal", "Status": "Ok", "tags": [], "event": [] diff --git a/src/HotChocolate/Diagnostics/test/Diagnostics.Tests/__snapshots__/ActivityServerDiagnosticListenerTests.RequestDetails_None_ExcludesAllDetails.snap b/src/HotChocolate/Diagnostics/test/Diagnostics.Tests/__snapshots__/ActivityServerDiagnosticListenerTests.RequestDetails_None_ExcludesAllDetails.snap index 0c5648eec31..0db2f9baf52 100644 --- a/src/HotChocolate/Diagnostics/test/Diagnostics.Tests/__snapshots__/ActivityServerDiagnosticListenerTests.RequestDetails_None_ExcludesAllDetails.snap +++ b/src/HotChocolate/Diagnostics/test/Diagnostics.Tests/__snapshots__/ActivityServerDiagnosticListenerTests.RequestDetails_None_ExcludesAllDetails.snap @@ -3,6 +3,7 @@ { "OperationName": "ExecuteHttpRequest", "DisplayName": "GraphQL HTTP POST", + "Kind": "Internal", "Status": "Ok", "tags": [ { @@ -19,6 +20,7 @@ { "OperationName": "Parse HTTP Request", "DisplayName": "Parse HTTP Request", + "Kind": "Internal", "Status": "Ok", "tags": [], "event": [] @@ -26,6 +28,7 @@ { "OperationName": "GraphQL Operation", "DisplayName": "query", + "Kind": "Internal", "Status": "Ok", "tags": [ { @@ -41,7 +44,7 @@ "Value": "md5:9335388c19fd2e230b6294a596d13a93" }, { - "Key": "graphql.errors.count", + "Key": "graphql.error.count", "Value": 0 } ], @@ -59,6 +62,7 @@ { "OperationName": "GraphQL Document Validation", "DisplayName": "GraphQL Document Validation", + "Kind": "Internal", "Status": "Ok", "tags": [ { @@ -75,6 +79,7 @@ { "OperationName": "GraphQL Complexity Analysis", "DisplayName": "GraphQL Complexity Analysis", + "Kind": "Internal", "Status": "Ok", "tags": [ { @@ -95,6 +100,7 @@ { "OperationName": "GraphQL Operation Planning", "DisplayName": "GraphQL Operation Planning", + "Kind": "Internal", "Status": "Ok", "tags": [ { @@ -119,6 +125,7 @@ { "OperationName": "GraphQL Variable Coercion", "DisplayName": "GraphQL Variable Coercion", + "Kind": "Internal", "Status": "Ok", "tags": [ { @@ -143,6 +150,7 @@ { "OperationName": "GraphQL Operation Execution", "DisplayName": "GraphQL Operation Execution", + "Kind": "Internal", "Status": "Ok", "tags": [ { @@ -167,6 +175,7 @@ { "OperationName": "Query.hero", "DisplayName": "Query.hero", + "Kind": "Internal", "Status": "Ok", "tags": [ { @@ -203,6 +212,7 @@ { "OperationName": "Format HTTP Response", "DisplayName": "Format HTTP Response", + "Kind": "Internal", "Status": "Ok", "tags": [], "event": [] diff --git a/src/HotChocolate/Fusion/src/Fusion.Diagnostics/FusionActivityEnricher.cs b/src/HotChocolate/Fusion/src/Fusion.Diagnostics/FusionActivityEnricher.cs index 76a337792fc..0983a71eea1 100644 --- a/src/HotChocolate/Fusion/src/Fusion.Diagnostics/FusionActivityEnricher.cs +++ b/src/HotChocolate/Fusion/src/Fusion.Diagnostics/FusionActivityEnricher.cs @@ -31,6 +31,14 @@ public virtual void EnrichExecutePlanNode( { } + public virtual void EnrichSourceSchemaRequest( + OperationPlanContext context, + OperationExecutionNode node, + string schemaName, + Activity activity) + { + } + public virtual void EnrichExecutionNodeError( OperationPlanContext context, ExecutionNode node, diff --git a/src/HotChocolate/Fusion/src/Fusion.Diagnostics/Listeners/FusionActivityExecutionDiagnosticEventListener.cs b/src/HotChocolate/Fusion/src/Fusion.Diagnostics/Listeners/FusionActivityExecutionDiagnosticEventListener.cs index 56c1ea4c8ce..4c7bc227bf6 100644 --- a/src/HotChocolate/Fusion/src/Fusion.Diagnostics/Listeners/FusionActivityExecutionDiagnosticEventListener.cs +++ b/src/HotChocolate/Fusion/src/Fusion.Diagnostics/Listeners/FusionActivityExecutionDiagnosticEventListener.cs @@ -54,6 +54,7 @@ public override void RequestError(RequestContext context, Exception error) activity.SetStatus(ActivityStatusCode.Error); activity.AddException(error); + activity.SetErrorType(error); enricher.EnrichRequestError(context, error, activity); } @@ -66,7 +67,15 @@ public override void RequestError(RequestContext context, IError error) var activity = span.Activity; activity.SetStatus(ActivityStatusCode.Error); - activity.AddGraphQLError(error); + + string? opType = null, opName = null; + if (context.GetOperationPlan() is { Operation: var operation }) + { + opType = SemanticConventions.GraphQL.Operation.TypeValues[operation.Definition.Operation]; + opName = operation.Name; + } + + activity.AddGraphQLError(error, opType, opName); enricher.EnrichRequestError(context, error, activity); } @@ -114,9 +123,16 @@ public override void ValidationErrors(RequestContext context, IReadOnlyList ExecuteNode(context, node, schemaName); + public override IDisposable ExecuteSourceSchemaRequest( + OperationPlanContext context, + OperationExecutionNode node, + string schemaName) + { + var span = ExecuteSourceSchemaRequestSpan.Start(Source, context, node, schemaName, enricher); + + if (span is null) + { + return EmptyScope; + } + + enricher.EnrichSourceSchemaRequest(context, node, schemaName, span.Activity); + + return span; + } + public override IDisposable ExecuteOperationBatchNode( OperationPlanContext context, OperationBatchExecutionNode node, @@ -225,6 +258,7 @@ public override void ExecutionNodeError( { activity.SetStatus(ActivityStatusCode.Error); activity.AddException(error); + activity.SetErrorType(error); enricher.EnrichExecutionNodeError(context, node, error, activity); } @@ -240,6 +274,7 @@ public override void SourceSchemaTransportError( { activity.SetStatus(ActivityStatusCode.Error); activity.AddException(error); + activity.SetErrorType(error); enricher.EnrichSourceSchemaTransportError(context, node, schemaName, error, activity); } @@ -255,6 +290,7 @@ public override void SourceSchemaStoreError( { activity.SetStatus(ActivityStatusCode.Error); activity.AddException(error); + activity.SetErrorType(error); enricher.EnrichSourceSchemaStoreError(context, node, schemaName, error, activity); } @@ -302,6 +338,7 @@ public override void SubscriptionEventError( { activity.SetStatus(ActivityStatusCode.Error); activity.AddException(exception); + activity.SetErrorType(exception); enricher.EnrichSubscriptionEventError( context, diff --git a/src/HotChocolate/Fusion/src/Fusion.Diagnostics/Spans/ExecutePlanNodeSpan.cs b/src/HotChocolate/Fusion/src/Fusion.Diagnostics/Spans/ExecutePlanNodeSpan.cs index 447daa90536..020bc56be21 100644 --- a/src/HotChocolate/Fusion/src/Fusion.Diagnostics/Spans/ExecutePlanNodeSpan.cs +++ b/src/HotChocolate/Fusion/src/Fusion.Diagnostics/Spans/ExecutePlanNodeSpan.cs @@ -74,7 +74,7 @@ private static void SetSourceSchemaTags(Activity activity, OperationSourceText o } activity.SetTag(GraphQL.Source.Operation.Name, operation.Name); - activity.SetTag(GraphQL.Source.Operation.Kind, GraphQL.Operation.TypeValues[operation.Type]); + activity.SetTag(GraphQL.Source.Operation.Type, GraphQL.Operation.TypeValues[operation.Type]); activity.SetTag(GraphQL.Source.Operation.Hash, $"sha256:{operation.Hash}"); } } diff --git a/src/HotChocolate/Fusion/src/Fusion.Diagnostics/Spans/ExecuteSourceSchemaRequestSpan.cs b/src/HotChocolate/Fusion/src/Fusion.Diagnostics/Spans/ExecuteSourceSchemaRequestSpan.cs new file mode 100644 index 00000000000..9a6a7288fd8 --- /dev/null +++ b/src/HotChocolate/Fusion/src/Fusion.Diagnostics/Spans/ExecuteSourceSchemaRequestSpan.cs @@ -0,0 +1,59 @@ +using System.Diagnostics; +using HotChocolate.Fusion.Diagnostics; +using HotChocolate.Fusion.Execution; +using HotChocolate.Fusion.Execution.Nodes; +using static HotChocolate.Diagnostics.SemanticConventions; + +namespace HotChocolate.Diagnostics; + +internal sealed class ExecuteSourceSchemaRequestSpan( + Activity activity, + OperationPlanContext context, + OperationExecutionNode node, + string schemaName, + FusionActivityEnricher enricher) : SpanBase(activity) +{ + public static ExecuteSourceSchemaRequestSpan? Start( + ActivitySource source, + OperationPlanContext context, + OperationExecutionNode node, + string schemaName, + FusionActivityEnricher enricher) + { + var operation = node.Operation; + var operationType = GraphQL.Operation.TypeValues[operation.Type]; + + var activity = source.StartActivity(operationType, ActivityKind.Client); + + if (activity is null) + { + return null; + } + + activity.SetTag(GraphQL.Operation.Type, operationType); + + if (!string.IsNullOrEmpty(operation.Name)) + { + activity.SetTag(GraphQL.Operation.Name, operation.Name); + } + + activity.SetTag(GraphQL.Document.Hash, $"sha256:{operation.Hash}"); + + if (!string.IsNullOrWhiteSpace(schemaName)) + { + activity.SetTag(GraphQL.Source.Name, schemaName); + } + + return new ExecuteSourceSchemaRequestSpan(activity, context, node, schemaName, enricher); + } + + protected override void OnComplete() + { + if (Activity.Status != ActivityStatusCode.Error) + { + Activity.SetStatus(ActivityStatusCode.Ok); + } + + enricher.EnrichSourceSchemaRequest(context, node, schemaName, Activity); + } +} diff --git a/src/HotChocolate/Fusion/src/Fusion.Execution/Diagnostics/AggregateFusionExecutionDiagnosticEvents.cs b/src/HotChocolate/Fusion/src/Fusion.Execution/Diagnostics/AggregateFusionExecutionDiagnosticEvents.cs index c2ef7993abc..644d44a65e6 100644 --- a/src/HotChocolate/Fusion/src/Fusion.Execution/Diagnostics/AggregateFusionExecutionDiagnosticEvents.cs +++ b/src/HotChocolate/Fusion/src/Fusion.Execution/Diagnostics/AggregateFusionExecutionDiagnosticEvents.cs @@ -199,6 +199,21 @@ public IDisposable ExecuteOperationBatchNode( return new AggregateActivityScope(scopes); } + public IDisposable ExecuteSourceSchemaRequest( + OperationPlanContext context, + OperationExecutionNode node, + string schemaName) + { + var scopes = new IDisposable[listeners.Length]; + + for (var i = 0; i < listeners.Length; i++) + { + scopes[i] = listeners[i].ExecuteSourceSchemaRequest(context, node, schemaName); + } + + return new AggregateActivityScope(scopes); + } + public void SourceSchemaTransportError( OperationPlanContext context, ExecutionNode node, diff --git a/src/HotChocolate/Fusion/src/Fusion.Execution/Diagnostics/FusionExecutionDiagnosticEventListener.cs b/src/HotChocolate/Fusion/src/Fusion.Execution/Diagnostics/FusionExecutionDiagnosticEventListener.cs index aa224864e45..2dc813bae65 100644 --- a/src/HotChocolate/Fusion/src/Fusion.Execution/Diagnostics/FusionExecutionDiagnosticEventListener.cs +++ b/src/HotChocolate/Fusion/src/Fusion.Execution/Diagnostics/FusionExecutionDiagnosticEventListener.cs @@ -100,6 +100,13 @@ public virtual IDisposable ExecuteOperationBatchNode( string schemaName) => EmptyScope; + /// + public virtual IDisposable ExecuteSourceSchemaRequest( + OperationPlanContext context, + OperationExecutionNode node, + string schemaName) + => EmptyScope; + /// public virtual void SourceSchemaTransportError( OperationPlanContext context, diff --git a/src/HotChocolate/Fusion/src/Fusion.Execution/Diagnostics/IFusionExecutionDiagnosticEvents.cs b/src/HotChocolate/Fusion/src/Fusion.Execution/Diagnostics/IFusionExecutionDiagnosticEvents.cs index 81284ae5c0d..8ee8e54161f 100644 --- a/src/HotChocolate/Fusion/src/Fusion.Execution/Diagnostics/IFusionExecutionDiagnosticEvents.cs +++ b/src/HotChocolate/Fusion/src/Fusion.Execution/Diagnostics/IFusionExecutionDiagnosticEvents.cs @@ -173,6 +173,27 @@ IDisposable ExecuteIntrospectionNode( OperationPlanContext context, IntrospectionExecutionNode node); + /// + /// Called when executing a source schema request within an operation execution node. + /// This wraps the actual HTTP call to the source schema. + /// + /// + /// The operation plan context. + /// + /// + /// The operation execution node that is making the request. + /// + /// + /// The name of the source schema being queried. + /// + /// + /// Returns a scope that is disposed when the source schema request is completed. + /// + IDisposable ExecuteSourceSchemaRequest( + OperationPlanContext context, + OperationExecutionNode node, + string schemaName); + /// /// Called when a general error occurs in an execution node context. /// diff --git a/src/HotChocolate/Fusion/src/Fusion.Execution/Execution/Nodes/OperationExecutionNode.cs b/src/HotChocolate/Fusion/src/Fusion.Execution/Execution/Nodes/OperationExecutionNode.cs index 217408ffddf..6698c6bf5af 100644 --- a/src/HotChocolate/Fusion/src/Fusion.Execution/Execution/Nodes/OperationExecutionNode.cs +++ b/src/HotChocolate/Fusion/src/Fusion.Execution/Execution/Nodes/OperationExecutionNode.cs @@ -132,6 +132,7 @@ protected override async ValueTask OnExecuteAsync( { // we execute the GraphQL request against a source schema var client = context.GetClient(schemaName, _operation.Type); + using var clientScope = diagnosticEvents.ExecuteSourceSchemaRequest(context, this, schemaName); var response = await client.ExecuteAsync(context, request, cancellationToken).ConfigureAwait(false); context.TrackSourceSchemaClientResponse(this, response); diff --git a/src/HotChocolate/Fusion/test/Fusion.Diagnostics.Tests/ActivityTestHelper.cs b/src/HotChocolate/Fusion/test/Fusion.Diagnostics.Tests/ActivityTestHelper.cs index bdb82461165..4dd7b9ebc5c 100644 --- a/src/HotChocolate/Fusion/test/Fusion.Diagnostics.Tests/ActivityTestHelper.cs +++ b/src/HotChocolate/Fusion/test/Fusion.Diagnostics.Tests/ActivityTestHelper.cs @@ -91,6 +91,7 @@ private static void SerializeActivity(Activity activity) data["OperationName"] = activity.OperationName; data["DisplayName"] = activity.DisplayName; + data["Kind"] = activity.Kind; data["Status"] = activity.Status; data["tags"] = activity.TagObjects; data["event"] = activity.Events.Select(t => new diff --git a/src/HotChocolate/Fusion/test/Fusion.Diagnostics.Tests/__snapshots__/FusionActivityExecutionDiagnosticListenerTests.AllScopes_IncludesAllSpans.snap b/src/HotChocolate/Fusion/test/Fusion.Diagnostics.Tests/__snapshots__/FusionActivityExecutionDiagnosticListenerTests.AllScopes_IncludesAllSpans.snap index 0d6838102cd..afaec594982 100644 --- a/src/HotChocolate/Fusion/test/Fusion.Diagnostics.Tests/__snapshots__/FusionActivityExecutionDiagnosticListenerTests.AllScopes_IncludesAllSpans.snap +++ b/src/HotChocolate/Fusion/test/Fusion.Diagnostics.Tests/__snapshots__/FusionActivityExecutionDiagnosticListenerTests.AllScopes_IncludesAllSpans.snap @@ -3,6 +3,7 @@ { "OperationName": "GraphQL Operation", "DisplayName": "query", + "Kind": "Internal", "Status": "Ok", "tags": [ { @@ -14,7 +15,7 @@ "Value": "md5:f7e9989fbb67af7fa747a9983313c9e5" }, { - "Key": "graphql.errors.count", + "Key": "graphql.error.count", "Value": 0 } ], @@ -32,6 +33,7 @@ { "OperationName": "GraphQL Document Parsing", "DisplayName": "GraphQL Document Parsing", + "Kind": "Internal", "Status": "Ok", "tags": [ { @@ -44,6 +46,7 @@ { "OperationName": "GraphQL Document Validation", "DisplayName": "GraphQL Document Validation", + "Kind": "Internal", "Status": "Ok", "tags": [ { @@ -60,6 +63,7 @@ { "OperationName": "GraphQL Operation Planning", "DisplayName": "GraphQL Operation Planning", + "Kind": "Internal", "Status": "Ok", "tags": [ { @@ -80,6 +84,7 @@ { "OperationName": "GraphQL Operation Execution", "DisplayName": "GraphQL Operation Execution", + "Kind": "Internal", "Status": "Ok", "tags": [ { @@ -100,6 +105,7 @@ { "OperationName": "GraphQL Step Execution", "DisplayName": "GraphQL Step Execution", + "Kind": "Internal", "Status": "Ok", "tags": [ { @@ -135,7 +141,7 @@ "Value": "Op_f7e9989f_1" }, { - "Key": "graphql.source.operation.kind", + "Key": "graphql.source.operation.type", "Value": "query" }, { @@ -143,7 +149,34 @@ "Value": "sha256:35c1feb1208268226c7d5d5d0ae122e4d38cb79621e862b1e252d37fc83c530a" } ], - "event": [] + "event": [], + "activities": [ + { + "OperationName": "query", + "DisplayName": "query", + "Kind": "Client", + "Status": "Ok", + "tags": [ + { + "Key": "graphql.operation.type", + "Value": "query" + }, + { + "Key": "graphql.operation.name", + "Value": "Op_f7e9989f_1" + }, + { + "Key": "graphql.document.hash", + "Value": "sha256:35c1feb1208268226c7d5d5d0ae122e4d38cb79621e862b1e252d37fc83c530a" + }, + { + "Key": "graphql.source.name", + "Value": "a" + } + ], + "event": [] + } + ] } ] } diff --git a/src/HotChocolate/Fusion/test/Fusion.Diagnostics.Tests/__snapshots__/FusionActivityExecutionDiagnosticListenerTests.Allow_Document_To_Be_Captured.snap b/src/HotChocolate/Fusion/test/Fusion.Diagnostics.Tests/__snapshots__/FusionActivityExecutionDiagnosticListenerTests.Allow_Document_To_Be_Captured.snap index d33a5a59753..e264890d937 100644 --- a/src/HotChocolate/Fusion/test/Fusion.Diagnostics.Tests/__snapshots__/FusionActivityExecutionDiagnosticListenerTests.Allow_Document_To_Be_Captured.snap +++ b/src/HotChocolate/Fusion/test/Fusion.Diagnostics.Tests/__snapshots__/FusionActivityExecutionDiagnosticListenerTests.Allow_Document_To_Be_Captured.snap @@ -3,6 +3,7 @@ { "OperationName": "GraphQL Operation", "DisplayName": "query", + "Kind": "Internal", "Status": "Ok", "tags": [ { @@ -22,7 +23,7 @@ "Value": "query SayHelloOperation {\n sayHello\n}" }, { - "Key": "graphql.errors.count", + "Key": "graphql.error.count", "Value": 0 } ], @@ -40,6 +41,7 @@ { "OperationName": "GraphQL Document Parsing", "DisplayName": "GraphQL Document Parsing", + "Kind": "Internal", "Status": "Ok", "tags": [ { @@ -52,6 +54,7 @@ { "OperationName": "GraphQL Document Validation", "DisplayName": "GraphQL Document Validation", + "Kind": "Internal", "Status": "Ok", "tags": [ { @@ -68,6 +71,7 @@ { "OperationName": "GraphQL Operation Planning", "DisplayName": "GraphQL Operation Planning", + "Kind": "Internal", "Status": "Ok", "tags": [ { @@ -92,6 +96,7 @@ { "OperationName": "GraphQL Operation Execution", "DisplayName": "GraphQL Operation Execution", + "Kind": "Internal", "Status": "Ok", "tags": [ { @@ -116,6 +121,7 @@ { "OperationName": "GraphQL Step Execution", "DisplayName": "GraphQL Step Execution", + "Kind": "Internal", "Status": "Ok", "tags": [ { @@ -155,7 +161,7 @@ "Value": "SayHelloOperation_6af18618_1" }, { - "Key": "graphql.source.operation.kind", + "Key": "graphql.source.operation.type", "Value": "query" }, { @@ -163,7 +169,34 @@ "Value": "sha256:80b0d05aefd2459dcda18d0e26977b91c512e4ef58ab3e4e8a82c1ec98249b58" } ], - "event": [] + "event": [], + "activities": [ + { + "OperationName": "query", + "DisplayName": "query", + "Kind": "Client", + "Status": "Ok", + "tags": [ + { + "Key": "graphql.operation.type", + "Value": "query" + }, + { + "Key": "graphql.operation.name", + "Value": "SayHelloOperation_6af18618_1" + }, + { + "Key": "graphql.document.hash", + "Value": "sha256:80b0d05aefd2459dcda18d0e26977b91c512e4ef58ab3e4e8a82c1ec98249b58" + }, + { + "Key": "graphql.source.name", + "Value": "a" + } + ], + "event": [] + } + ] } ] } diff --git a/src/HotChocolate/Fusion/test/Fusion.Diagnostics.Tests/__snapshots__/FusionActivityExecutionDiagnosticListenerTests.Cause_A_Resolver_Error_That_Deletes_The_Whole_Result.snap b/src/HotChocolate/Fusion/test/Fusion.Diagnostics.Tests/__snapshots__/FusionActivityExecutionDiagnosticListenerTests.Cause_A_Resolver_Error_That_Deletes_The_Whole_Result.snap index 74951ea8e4e..ef752ca48ef 100644 --- a/src/HotChocolate/Fusion/test/Fusion.Diagnostics.Tests/__snapshots__/FusionActivityExecutionDiagnosticListenerTests.Cause_A_Resolver_Error_That_Deletes_The_Whole_Result.snap +++ b/src/HotChocolate/Fusion/test/Fusion.Diagnostics.Tests/__snapshots__/FusionActivityExecutionDiagnosticListenerTests.Cause_A_Resolver_Error_That_Deletes_The_Whole_Result.snap @@ -3,6 +3,7 @@ { "OperationName": "GraphQL Operation", "DisplayName": "query", + "Kind": "Internal", "Status": "Error", "tags": [ { @@ -22,8 +23,12 @@ "Value": "query SayHelloOperation {\n causeFatalError\n}" }, { - "Key": "graphql.errors.count", + "Key": "graphql.error.count", "Value": 1 + }, + { + "Key": "error.type", + "Value": "EXECUTION_ERROR" } ], "event": [ @@ -40,6 +45,7 @@ { "OperationName": "GraphQL Document Parsing", "DisplayName": "GraphQL Document Parsing", + "Kind": "Internal", "Status": "Ok", "tags": [ { @@ -52,6 +58,7 @@ { "OperationName": "GraphQL Document Validation", "DisplayName": "GraphQL Document Validation", + "Kind": "Internal", "Status": "Ok", "tags": [ { @@ -68,6 +75,7 @@ { "OperationName": "GraphQL Operation Planning", "DisplayName": "GraphQL Operation Planning", + "Kind": "Internal", "Status": "Ok", "tags": [ { @@ -92,6 +100,7 @@ { "OperationName": "GraphQL Operation Execution", "DisplayName": "GraphQL Operation Execution", + "Kind": "Internal", "Status": "Error", "tags": [ { @@ -109,6 +118,10 @@ { "Key": "graphql.document.hash", "Value": "md5:851fb754d9ba6b5cc5a55ebcbea2621d" + }, + { + "Key": "error.type", + "Value": "EXECUTION_ERROR" } ], "event": [], @@ -116,6 +129,7 @@ { "OperationName": "GraphQL Step Execution", "DisplayName": "GraphQL Step Execution", + "Kind": "Internal", "Status": "Ok", "tags": [ { @@ -155,7 +169,7 @@ "Value": "SayHelloOperation_851fb754_1" }, { - "Key": "graphql.source.operation.kind", + "Key": "graphql.source.operation.type", "Value": "query" }, { @@ -163,7 +177,34 @@ "Value": "sha256:1b35e9142c2e8235f31d2b3ae0de3d2ba54692a7aa6481803c3841fd135f4c4c" } ], - "event": [] + "event": [], + "activities": [ + { + "OperationName": "query", + "DisplayName": "query", + "Kind": "Client", + "Status": "Ok", + "tags": [ + { + "Key": "graphql.operation.type", + "Value": "query" + }, + { + "Key": "graphql.operation.name", + "Value": "SayHelloOperation_851fb754_1" + }, + { + "Key": "graphql.document.hash", + "Value": "sha256:1b35e9142c2e8235f31d2b3ae0de3d2ba54692a7aa6481803c3841fd135f4c4c" + }, + { + "Key": "graphql.source.name", + "Value": "a" + } + ], + "event": [] + } + ] } ] } diff --git a/src/HotChocolate/Fusion/test/Fusion.Diagnostics.Tests/__snapshots__/FusionActivityExecutionDiagnosticListenerTests.CustomScopes_OnlyValidateAndPlan_LimitsSpans.snap b/src/HotChocolate/Fusion/test/Fusion.Diagnostics.Tests/__snapshots__/FusionActivityExecutionDiagnosticListenerTests.CustomScopes_OnlyValidateAndPlan_LimitsSpans.snap index 6e5564554ca..64a7b578093 100644 --- a/src/HotChocolate/Fusion/test/Fusion.Diagnostics.Tests/__snapshots__/FusionActivityExecutionDiagnosticListenerTests.CustomScopes_OnlyValidateAndPlan_LimitsSpans.snap +++ b/src/HotChocolate/Fusion/test/Fusion.Diagnostics.Tests/__snapshots__/FusionActivityExecutionDiagnosticListenerTests.CustomScopes_OnlyValidateAndPlan_LimitsSpans.snap @@ -3,6 +3,7 @@ { "OperationName": "GraphQL Document Validation", "DisplayName": "GraphQL Document Validation", + "Kind": "Internal", "Status": "Ok", "tags": [ { @@ -19,6 +20,7 @@ { "OperationName": "GraphQL Operation Planning", "DisplayName": "GraphQL Operation Planning", + "Kind": "Internal", "Status": "Ok", "tags": [ { @@ -35,6 +37,31 @@ } ], "event": [] + }, + { + "OperationName": "query", + "DisplayName": "query", + "Kind": "Client", + "Status": "Ok", + "tags": [ + { + "Key": "graphql.operation.type", + "Value": "query" + }, + { + "Key": "graphql.operation.name", + "Value": "Op_f7e9989f_1" + }, + { + "Key": "graphql.document.hash", + "Value": "sha256:35c1feb1208268226c7d5d5d0ae122e4d38cb79621e862b1e252d37fc83c530a" + }, + { + "Key": "graphql.source.name", + "Value": "a" + } + ], + "event": [] } ] } diff --git a/src/HotChocolate/Fusion/test/Fusion.Diagnostics.Tests/__snapshots__/FusionActivityExecutionDiagnosticListenerTests.DefaultScopes_ExcludesExecuteRequestAndParseDocumentSpans.snap b/src/HotChocolate/Fusion/test/Fusion.Diagnostics.Tests/__snapshots__/FusionActivityExecutionDiagnosticListenerTests.DefaultScopes_ExcludesExecuteRequestAndParseDocumentSpans.snap index ba0624d5a22..80fcb835feb 100644 --- a/src/HotChocolate/Fusion/test/Fusion.Diagnostics.Tests/__snapshots__/FusionActivityExecutionDiagnosticListenerTests.DefaultScopes_ExcludesExecuteRequestAndParseDocumentSpans.snap +++ b/src/HotChocolate/Fusion/test/Fusion.Diagnostics.Tests/__snapshots__/FusionActivityExecutionDiagnosticListenerTests.DefaultScopes_ExcludesExecuteRequestAndParseDocumentSpans.snap @@ -3,6 +3,7 @@ { "OperationName": "GraphQL Document Validation", "DisplayName": "GraphQL Document Validation", + "Kind": "Internal", "Status": "Ok", "tags": [ { @@ -19,6 +20,7 @@ { "OperationName": "GraphQL Operation Planning", "DisplayName": "GraphQL Operation Planning", + "Kind": "Internal", "Status": "Ok", "tags": [ { @@ -39,6 +41,7 @@ { "OperationName": "GraphQL Step Execution", "DisplayName": "GraphQL Step Execution", + "Kind": "Internal", "Status": "Ok", "tags": [ { @@ -74,7 +77,7 @@ "Value": "Op_f7e9989f_1" }, { - "Key": "graphql.source.operation.kind", + "Key": "graphql.source.operation.type", "Value": "query" }, { @@ -82,7 +85,34 @@ "Value": "sha256:35c1feb1208268226c7d5d5d0ae122e4d38cb79621e862b1e252d37fc83c530a" } ], - "event": [] + "event": [], + "activities": [ + { + "OperationName": "query", + "DisplayName": "query", + "Kind": "Client", + "Status": "Ok", + "tags": [ + { + "Key": "graphql.operation.type", + "Value": "query" + }, + { + "Key": "graphql.operation.name", + "Value": "Op_f7e9989f_1" + }, + { + "Key": "graphql.document.hash", + "Value": "sha256:35c1feb1208268226c7d5d5d0ae122e4d38cb79621e862b1e252d37fc83c530a" + }, + { + "Key": "graphql.source.name", + "Value": "a" + } + ], + "event": [] + } + ] } ] } diff --git a/src/HotChocolate/Fusion/test/Fusion.Diagnostics.Tests/__snapshots__/FusionActivityExecutionDiagnosticListenerTests.DocumentCache_SecondExecution_RecordsCacheHitEvent.snap b/src/HotChocolate/Fusion/test/Fusion.Diagnostics.Tests/__snapshots__/FusionActivityExecutionDiagnosticListenerTests.DocumentCache_SecondExecution_RecordsCacheHitEvent.snap index 654f63bfaea..5d221f3caa1 100644 --- a/src/HotChocolate/Fusion/test/Fusion.Diagnostics.Tests/__snapshots__/FusionActivityExecutionDiagnosticListenerTests.DocumentCache_SecondExecution_RecordsCacheHitEvent.snap +++ b/src/HotChocolate/Fusion/test/Fusion.Diagnostics.Tests/__snapshots__/FusionActivityExecutionDiagnosticListenerTests.DocumentCache_SecondExecution_RecordsCacheHitEvent.snap @@ -3,6 +3,7 @@ { "OperationName": "GraphQL Operation", "DisplayName": "query", + "Kind": "Internal", "Status": "Ok", "tags": [ { @@ -14,7 +15,7 @@ "Value": "md5:f7e9989fbb67af7fa747a9983313c9e5" }, { - "Key": "graphql.errors.count", + "Key": "graphql.error.count", "Value": 0 } ], @@ -28,6 +29,7 @@ { "OperationName": "GraphQL Operation Execution", "DisplayName": "GraphQL Operation Execution", + "Kind": "Internal", "Status": "Ok", "tags": [ { @@ -48,6 +50,7 @@ { "OperationName": "GraphQL Step Execution", "DisplayName": "GraphQL Step Execution", + "Kind": "Internal", "Status": "Ok", "tags": [ { @@ -83,7 +86,7 @@ "Value": "Op_f7e9989f_1" }, { - "Key": "graphql.source.operation.kind", + "Key": "graphql.source.operation.type", "Value": "query" }, { @@ -91,7 +94,34 @@ "Value": "sha256:35c1feb1208268226c7d5d5d0ae122e4d38cb79621e862b1e252d37fc83c530a" } ], - "event": [] + "event": [], + "activities": [ + { + "OperationName": "query", + "DisplayName": "query", + "Kind": "Client", + "Status": "Ok", + "tags": [ + { + "Key": "graphql.operation.type", + "Value": "query" + }, + { + "Key": "graphql.operation.name", + "Value": "Op_f7e9989f_1" + }, + { + "Key": "graphql.document.hash", + "Value": "sha256:35c1feb1208268226c7d5d5d0ae122e4d38cb79621e862b1e252d37fc83c530a" + }, + { + "Key": "graphql.source.name", + "Value": "a" + } + ], + "event": [] + } + ] } ] } diff --git a/src/HotChocolate/Fusion/test/Fusion.Diagnostics.Tests/__snapshots__/FusionActivityExecutionDiagnosticListenerTests.DocumentNotFoundInStorage_RecordsEvent.snap b/src/HotChocolate/Fusion/test/Fusion.Diagnostics.Tests/__snapshots__/FusionActivityExecutionDiagnosticListenerTests.DocumentNotFoundInStorage_RecordsEvent.snap index 2ac2accfde8..433e4c1bb1c 100644 --- a/src/HotChocolate/Fusion/test/Fusion.Diagnostics.Tests/__snapshots__/FusionActivityExecutionDiagnosticListenerTests.DocumentNotFoundInStorage_RecordsEvent.snap +++ b/src/HotChocolate/Fusion/test/Fusion.Diagnostics.Tests/__snapshots__/FusionActivityExecutionDiagnosticListenerTests.DocumentNotFoundInStorage_RecordsEvent.snap @@ -3,11 +3,16 @@ { "OperationName": "GraphQL Operation", "DisplayName": "GraphQL Operation", + "Kind": "Internal", "Status": "Error", "tags": [ { - "Key": "graphql.errors.count", + "Key": "graphql.error.count", "Value": 1 + }, + { + "Key": "error.type", + "Value": "EXECUTION_ERROR" } ], "event": [ diff --git a/src/HotChocolate/Fusion/test/Fusion.Diagnostics.Tests/__snapshots__/FusionActivityExecutionDiagnosticListenerTests.Ensure_That_The_Validation_Activity_Has_An_Error_Status.snap b/src/HotChocolate/Fusion/test/Fusion.Diagnostics.Tests/__snapshots__/FusionActivityExecutionDiagnosticListenerTests.Ensure_That_The_Validation_Activity_Has_An_Error_Status.snap index 2e41cc4023c..5e08ba354cd 100644 --- a/src/HotChocolate/Fusion/test/Fusion.Diagnostics.Tests/__snapshots__/FusionActivityExecutionDiagnosticListenerTests.Ensure_That_The_Validation_Activity_Has_An_Error_Status.snap +++ b/src/HotChocolate/Fusion/test/Fusion.Diagnostics.Tests/__snapshots__/FusionActivityExecutionDiagnosticListenerTests.Ensure_That_The_Validation_Activity_Has_An_Error_Status.snap @@ -3,6 +3,7 @@ { "OperationName": "GraphQL Operation", "DisplayName": "GraphQL Operation", + "Kind": "Internal", "Status": "Error", "tags": [ { @@ -14,8 +15,12 @@ "Value": "query SayHelloOperation {\n sayHello_\n}" }, { - "Key": "graphql.errors.count", + "Key": "graphql.error.count", "Value": 1 + }, + { + "Key": "error.type", + "Value": "EXECUTION_ERROR" } ], "event": [], @@ -23,6 +28,7 @@ { "OperationName": "GraphQL Document Parsing", "DisplayName": "GraphQL Document Parsing", + "Kind": "Internal", "Status": "Ok", "tags": [ { @@ -35,6 +41,7 @@ { "OperationName": "GraphQL Document Validation", "DisplayName": "GraphQL Document Validation", + "Kind": "Internal", "Status": "Error", "tags": [ { @@ -44,11 +51,15 @@ { "Key": "graphql.document.hash", "Value": "md5:bb1d246465341a97bdc727d6cd8ead5c" + }, + { + "Key": "error.type", + "Value": "GRAPHQL_ERROR" } ], "event": [ { - "Name": "exception", + "Name": "graphql.error", "Tags": [ { "Key": "graphql.error.message", diff --git a/src/HotChocolate/Fusion/test/Fusion.Diagnostics.Tests/__snapshots__/FusionActivityExecutionDiagnosticListenerTests.MultipleSources_SourceSchemaResolverError_RecordsDeeplyNestedError.snap b/src/HotChocolate/Fusion/test/Fusion.Diagnostics.Tests/__snapshots__/FusionActivityExecutionDiagnosticListenerTests.MultipleSources_SourceSchemaResolverError_RecordsDeeplyNestedError.snap index 85cfbb5647c..6e958f17c05 100644 --- a/src/HotChocolate/Fusion/test/Fusion.Diagnostics.Tests/__snapshots__/FusionActivityExecutionDiagnosticListenerTests.MultipleSources_SourceSchemaResolverError_RecordsDeeplyNestedError.snap +++ b/src/HotChocolate/Fusion/test/Fusion.Diagnostics.Tests/__snapshots__/FusionActivityExecutionDiagnosticListenerTests.MultipleSources_SourceSchemaResolverError_RecordsDeeplyNestedError.snap @@ -3,6 +3,7 @@ { "OperationName": "GraphQL Operation", "DisplayName": "query", + "Kind": "Internal", "Status": "Error", "tags": [ { @@ -18,8 +19,12 @@ "Value": "{\n sayHello\n deepB {\n deeperB {\n causeFatalError\n }\n }\n}" }, { - "Key": "graphql.errors.count", + "Key": "graphql.error.count", "Value": 2 + }, + { + "Key": "error.type", + "Value": "EXECUTION_ERROR" } ], "event": [ @@ -36,6 +41,7 @@ { "OperationName": "GraphQL Document Parsing", "DisplayName": "GraphQL Document Parsing", + "Kind": "Internal", "Status": "Ok", "tags": [ { @@ -48,6 +54,7 @@ { "OperationName": "GraphQL Document Validation", "DisplayName": "GraphQL Document Validation", + "Kind": "Internal", "Status": "Ok", "tags": [ { @@ -64,6 +71,7 @@ { "OperationName": "GraphQL Operation Planning", "DisplayName": "GraphQL Operation Planning", + "Kind": "Internal", "Status": "Ok", "tags": [ { @@ -84,6 +92,7 @@ { "OperationName": "GraphQL Operation Execution", "DisplayName": "GraphQL Operation Execution", + "Kind": "Internal", "Status": "Error", "tags": [ { @@ -97,6 +106,10 @@ { "Key": "graphql.document.hash", "Value": "md5:241c617bf9ec34fef187d8b149fd8498" + }, + { + "Key": "error.type", + "Value": "EXECUTION_ERROR" } ], "event": [], @@ -104,6 +117,7 @@ { "OperationName": "GraphQL Step Execution", "DisplayName": "GraphQL Step Execution", + "Kind": "Internal", "Status": "Ok", "tags": [ { @@ -139,7 +153,7 @@ "Value": "Op_241c617b_1" }, { - "Key": "graphql.source.operation.kind", + "Key": "graphql.source.operation.type", "Value": "query" }, { @@ -147,11 +161,39 @@ "Value": "sha256:7dfcb1cc48aa6c4d4750dc471f2f71b0c1acf70356383ea909d2c5994dc65d6f" } ], - "event": [] + "event": [], + "activities": [ + { + "OperationName": "query", + "DisplayName": "query", + "Kind": "Client", + "Status": "Ok", + "tags": [ + { + "Key": "graphql.operation.type", + "Value": "query" + }, + { + "Key": "graphql.operation.name", + "Value": "Op_241c617b_1" + }, + { + "Key": "graphql.document.hash", + "Value": "sha256:7dfcb1cc48aa6c4d4750dc471f2f71b0c1acf70356383ea909d2c5994dc65d6f" + }, + { + "Key": "graphql.source.name", + "Value": "b" + } + ], + "event": [] + } + ] }, { "OperationName": "GraphQL Step Execution", "DisplayName": "GraphQL Step Execution", + "Kind": "Internal", "Status": "Ok", "tags": [ { @@ -187,7 +229,7 @@ "Value": "Op_241c617b_2" }, { - "Key": "graphql.source.operation.kind", + "Key": "graphql.source.operation.type", "Value": "query" }, { @@ -195,7 +237,34 @@ "Value": "sha256:23e6ec3292fdaf4949c838051e42d74bee6c27bed8b0720637c4b77d961f3ef3" } ], - "event": [] + "event": [], + "activities": [ + { + "OperationName": "query", + "DisplayName": "query", + "Kind": "Client", + "Status": "Ok", + "tags": [ + { + "Key": "graphql.operation.type", + "Value": "query" + }, + { + "Key": "graphql.operation.name", + "Value": "Op_241c617b_2" + }, + { + "Key": "graphql.document.hash", + "Value": "sha256:23e6ec3292fdaf4949c838051e42d74bee6c27bed8b0720637c4b77d961f3ef3" + }, + { + "Key": "graphql.source.name", + "Value": "a" + } + ], + "event": [] + } + ] } ] } diff --git a/src/HotChocolate/Fusion/test/Fusion.Diagnostics.Tests/__snapshots__/FusionActivityExecutionDiagnosticListenerTests.ParsingError_InvalidGraphQLDocument_ReportsErrorStatus.snap b/src/HotChocolate/Fusion/test/Fusion.Diagnostics.Tests/__snapshots__/FusionActivityExecutionDiagnosticListenerTests.ParsingError_InvalidGraphQLDocument_ReportsErrorStatus.snap index ad1d5945b6f..35c505a3f34 100644 --- a/src/HotChocolate/Fusion/test/Fusion.Diagnostics.Tests/__snapshots__/FusionActivityExecutionDiagnosticListenerTests.ParsingError_InvalidGraphQLDocument_ReportsErrorStatus.snap +++ b/src/HotChocolate/Fusion/test/Fusion.Diagnostics.Tests/__snapshots__/FusionActivityExecutionDiagnosticListenerTests.ParsingError_InvalidGraphQLDocument_ReportsErrorStatus.snap @@ -3,14 +3,19 @@ { "OperationName": "GraphQL Operation", "DisplayName": "GraphQL Operation", + "Kind": "Internal", "Status": "Error", "tags": [ + { + "Key": "error.type", + "Value": "HotChocolate.Language.SyntaxException" + }, { "Key": "graphql.document.hash", "Value": "md5:bb507ba78696fc3c6ff3a17fb06784d5" }, { - "Key": "graphql.errors.count", + "Key": "graphql.error.count", "Value": 1 } ], @@ -37,6 +42,7 @@ { "OperationName": "GraphQL Document Parsing", "DisplayName": "GraphQL Document Parsing", + "Kind": "Internal", "Status": "Unset", "tags": [ { diff --git a/src/HotChocolate/Fusion/test/Fusion.Diagnostics.Tests/__snapshots__/FusionActivityExecutionDiagnosticListenerTests.PersistedOperation_LoadsFromStorage_DefaultScopes.snap b/src/HotChocolate/Fusion/test/Fusion.Diagnostics.Tests/__snapshots__/FusionActivityExecutionDiagnosticListenerTests.PersistedOperation_LoadsFromStorage_DefaultScopes.snap index e69217c9ce1..d7918fb5c9c 100644 --- a/src/HotChocolate/Fusion/test/Fusion.Diagnostics.Tests/__snapshots__/FusionActivityExecutionDiagnosticListenerTests.PersistedOperation_LoadsFromStorage_DefaultScopes.snap +++ b/src/HotChocolate/Fusion/test/Fusion.Diagnostics.Tests/__snapshots__/FusionActivityExecutionDiagnosticListenerTests.PersistedOperation_LoadsFromStorage_DefaultScopes.snap @@ -3,6 +3,7 @@ { "OperationName": "GraphQL Document Validation", "DisplayName": "GraphQL Document Validation", + "Kind": "Internal", "Status": "Ok", "tags": [ { @@ -23,6 +24,7 @@ { "OperationName": "GraphQL Operation Planning", "DisplayName": "GraphQL Operation Planning", + "Kind": "Internal", "Status": "Ok", "tags": [ { @@ -47,6 +49,7 @@ { "OperationName": "GraphQL Step Execution", "DisplayName": "GraphQL Step Execution", + "Kind": "Internal", "Status": "Ok", "tags": [ { @@ -86,7 +89,7 @@ "Value": "Op_f7e9989f_1" }, { - "Key": "graphql.source.operation.kind", + "Key": "graphql.source.operation.type", "Value": "query" }, { @@ -94,7 +97,34 @@ "Value": "sha256:35c1feb1208268226c7d5d5d0ae122e4d38cb79621e862b1e252d37fc83c530a" } ], - "event": [] + "event": [], + "activities": [ + { + "OperationName": "query", + "DisplayName": "query", + "Kind": "Client", + "Status": "Ok", + "tags": [ + { + "Key": "graphql.operation.type", + "Value": "query" + }, + { + "Key": "graphql.operation.name", + "Value": "Op_f7e9989f_1" + }, + { + "Key": "graphql.document.hash", + "Value": "sha256:35c1feb1208268226c7d5d5d0ae122e4d38cb79621e862b1e252d37fc83c530a" + }, + { + "Key": "graphql.source.name", + "Value": "a" + } + ], + "event": [] + } + ] } ] } diff --git a/src/HotChocolate/Fusion/test/Fusion.Diagnostics.Tests/__snapshots__/FusionActivityExecutionDiagnosticListenerTests.Source_Schema_Transport_Error.snap b/src/HotChocolate/Fusion/test/Fusion.Diagnostics.Tests/__snapshots__/FusionActivityExecutionDiagnosticListenerTests.Source_Schema_Transport_Error.snap index 26a84ad5d80..64425438973 100644 --- a/src/HotChocolate/Fusion/test/Fusion.Diagnostics.Tests/__snapshots__/FusionActivityExecutionDiagnosticListenerTests.Source_Schema_Transport_Error.snap +++ b/src/HotChocolate/Fusion/test/Fusion.Diagnostics.Tests/__snapshots__/FusionActivityExecutionDiagnosticListenerTests.Source_Schema_Transport_Error.snap @@ -3,6 +3,7 @@ { "OperationName": "GraphQL Operation", "DisplayName": "query", + "Kind": "Internal", "Status": "Error", "tags": [ { @@ -18,8 +19,12 @@ "Value": "{\n sayHello\n}" }, { - "Key": "graphql.errors.count", + "Key": "graphql.error.count", "Value": 1 + }, + { + "Key": "error.type", + "Value": "EXECUTION_ERROR" } ], "event": [ @@ -36,6 +41,7 @@ { "OperationName": "GraphQL Document Parsing", "DisplayName": "GraphQL Document Parsing", + "Kind": "Internal", "Status": "Ok", "tags": [ { @@ -48,6 +54,7 @@ { "OperationName": "GraphQL Document Validation", "DisplayName": "GraphQL Document Validation", + "Kind": "Internal", "Status": "Ok", "tags": [ { @@ -64,6 +71,7 @@ { "OperationName": "GraphQL Operation Planning", "DisplayName": "GraphQL Operation Planning", + "Kind": "Internal", "Status": "Ok", "tags": [ { @@ -84,6 +92,7 @@ { "OperationName": "GraphQL Operation Execution", "DisplayName": "GraphQL Operation Execution", + "Kind": "Internal", "Status": "Error", "tags": [ { @@ -97,6 +106,10 @@ { "Key": "graphql.document.hash", "Value": "md5:f7e9989fbb67af7fa747a9983313c9e5" + }, + { + "Key": "error.type", + "Value": "EXECUTION_ERROR" } ], "event": [], @@ -104,6 +117,7 @@ { "OperationName": "GraphQL Step Execution", "DisplayName": "GraphQL Step Execution", + "Kind": "Internal", "Status": "Error", "tags": [ { @@ -139,12 +153,16 @@ "Value": "Op_f7e9989f_1" }, { - "Key": "graphql.source.operation.kind", + "Key": "graphql.source.operation.type", "Value": "query" }, { "Key": "graphql.source.operation.hash", "Value": "sha256:35c1feb1208268226c7d5d5d0ae122e4d38cb79621e862b1e252d37fc83c530a" + }, + { + "Key": "error.type", + "Value": "System.Net.Http.HttpRequestException" } ], "event": [ @@ -165,6 +183,33 @@ } ] } + ], + "activities": [ + { + "OperationName": "query", + "DisplayName": "query", + "Kind": "Client", + "Status": "Ok", + "tags": [ + { + "Key": "graphql.operation.type", + "Value": "query" + }, + { + "Key": "graphql.operation.name", + "Value": "Op_f7e9989f_1" + }, + { + "Key": "graphql.document.hash", + "Value": "sha256:35c1feb1208268226c7d5d5d0ae122e4d38cb79621e862b1e252d37fc83c530a" + }, + { + "Key": "graphql.source.name", + "Value": "a" + } + ], + "event": [] + } ] } ] diff --git a/src/HotChocolate/Fusion/test/Fusion.Diagnostics.Tests/__snapshots__/FusionActivityExecutionDiagnosticListenerTests.SubscriptionEvent_Records_Subscription_Event_Span.snap b/src/HotChocolate/Fusion/test/Fusion.Diagnostics.Tests/__snapshots__/FusionActivityExecutionDiagnosticListenerTests.SubscriptionEvent_Records_Subscription_Event_Span.snap index 0242b71faa0..ccb8ad0d0f9 100644 --- a/src/HotChocolate/Fusion/test/Fusion.Diagnostics.Tests/__snapshots__/FusionActivityExecutionDiagnosticListenerTests.SubscriptionEvent_Records_Subscription_Event_Span.snap +++ b/src/HotChocolate/Fusion/test/Fusion.Diagnostics.Tests/__snapshots__/FusionActivityExecutionDiagnosticListenerTests.SubscriptionEvent_Records_Subscription_Event_Span.snap @@ -3,6 +3,7 @@ { "OperationName": "GraphQL Operation", "DisplayName": "subscription", + "Kind": "Internal", "Status": "Ok", "tags": [ { @@ -32,6 +33,7 @@ { "OperationName": "GraphQL Document Parsing", "DisplayName": "GraphQL Document Parsing", + "Kind": "Internal", "Status": "Ok", "tags": [ { @@ -44,6 +46,7 @@ { "OperationName": "GraphQL Document Validation", "DisplayName": "GraphQL Document Validation", + "Kind": "Internal", "Status": "Ok", "tags": [ { @@ -60,6 +63,7 @@ { "OperationName": "GraphQL Operation Planning", "DisplayName": "GraphQL Operation Planning", + "Kind": "Internal", "Status": "Ok", "tags": [ { @@ -84,6 +88,7 @@ { "OperationName": "GraphQL Operation Execution", "DisplayName": "GraphQL Operation Execution", + "Kind": "Internal", "Status": "Ok", "tags": [ { @@ -110,6 +115,7 @@ { "OperationName": "GraphQL Step Execution", "DisplayName": "GraphQL Step Execution", + "Kind": "Internal", "Status": "Ok", "tags": [ { @@ -149,7 +155,7 @@ "Value": "OnMessageSubscription_ef859b98_1" }, { - "Key": "graphql.source.operation.kind", + "Key": "graphql.source.operation.type", "Value": "subscription" }, { @@ -162,6 +168,7 @@ { "OperationName": "GraphQL Subscription Event", "DisplayName": "GraphQL Subscription Event", + "Kind": "Internal", "Status": "Ok", "tags": [ { diff --git a/src/HotChocolate/Fusion/test/Fusion.Diagnostics.Tests/__snapshots__/FusionActivityExecutionDiagnosticListenerTests.Track_Events_Of_A_Query_With_Multiple_Sources.snap b/src/HotChocolate/Fusion/test/Fusion.Diagnostics.Tests/__snapshots__/FusionActivityExecutionDiagnosticListenerTests.Track_Events_Of_A_Query_With_Multiple_Sources.snap index c8b0a9cb715..e4f9e2d3eb2 100644 --- a/src/HotChocolate/Fusion/test/Fusion.Diagnostics.Tests/__snapshots__/FusionActivityExecutionDiagnosticListenerTests.Track_Events_Of_A_Query_With_Multiple_Sources.snap +++ b/src/HotChocolate/Fusion/test/Fusion.Diagnostics.Tests/__snapshots__/FusionActivityExecutionDiagnosticListenerTests.Track_Events_Of_A_Query_With_Multiple_Sources.snap @@ -3,6 +3,7 @@ { "OperationName": "GraphQL Operation", "DisplayName": "query", + "Kind": "Internal", "Status": "Ok", "tags": [ { @@ -14,7 +15,7 @@ "Value": "md5:073bf7696c078e52587c88890ef21bbe" }, { - "Key": "graphql.errors.count", + "Key": "graphql.error.count", "Value": 0 } ], @@ -32,6 +33,7 @@ { "OperationName": "GraphQL Document Parsing", "DisplayName": "GraphQL Document Parsing", + "Kind": "Internal", "Status": "Ok", "tags": [ { @@ -44,6 +46,7 @@ { "OperationName": "GraphQL Document Validation", "DisplayName": "GraphQL Document Validation", + "Kind": "Internal", "Status": "Ok", "tags": [ { @@ -60,6 +63,7 @@ { "OperationName": "GraphQL Operation Planning", "DisplayName": "GraphQL Operation Planning", + "Kind": "Internal", "Status": "Ok", "tags": [ { @@ -80,6 +84,7 @@ { "OperationName": "GraphQL Operation Execution", "DisplayName": "GraphQL Operation Execution", + "Kind": "Internal", "Status": "Ok", "tags": [ { @@ -100,6 +105,7 @@ { "OperationName": "GraphQL Step Execution", "DisplayName": "GraphQL Step Execution", + "Kind": "Internal", "Status": "Ok", "tags": [ { @@ -135,7 +141,7 @@ "Value": "Op_073bf769_1" }, { - "Key": "graphql.source.operation.kind", + "Key": "graphql.source.operation.type", "Value": "query" }, { @@ -143,11 +149,39 @@ "Value": "sha256:b6db85f78e867baa06bf8b4f45ed381a2b6bc9f7abd15948f0bfff0967fbc308" } ], - "event": [] + "event": [], + "activities": [ + { + "OperationName": "query", + "DisplayName": "query", + "Kind": "Client", + "Status": "Ok", + "tags": [ + { + "Key": "graphql.operation.type", + "Value": "query" + }, + { + "Key": "graphql.operation.name", + "Value": "Op_073bf769_1" + }, + { + "Key": "graphql.document.hash", + "Value": "sha256:b6db85f78e867baa06bf8b4f45ed381a2b6bc9f7abd15948f0bfff0967fbc308" + }, + { + "Key": "graphql.source.name", + "Value": "a" + } + ], + "event": [] + } + ] }, { "OperationName": "GraphQL Step Execution", "DisplayName": "GraphQL Step Execution", + "Kind": "Internal", "Status": "Ok", "tags": [ { @@ -183,7 +217,7 @@ "Value": "Op_073bf769_2" }, { - "Key": "graphql.source.operation.kind", + "Key": "graphql.source.operation.type", "Value": "query" }, { @@ -191,7 +225,34 @@ "Value": "sha256:1fa50769ad5084334414d5ceb8029c7787ded48ac5cc01dac775b0b814348e88" } ], - "event": [] + "event": [], + "activities": [ + { + "OperationName": "query", + "DisplayName": "query", + "Kind": "Client", + "Status": "Ok", + "tags": [ + { + "Key": "graphql.operation.type", + "Value": "query" + }, + { + "Key": "graphql.operation.name", + "Value": "Op_073bf769_2" + }, + { + "Key": "graphql.document.hash", + "Value": "sha256:1fa50769ad5084334414d5ceb8029c7787ded48ac5cc01dac775b0b814348e88" + }, + { + "Key": "graphql.source.name", + "Value": "b" + } + ], + "event": [] + } + ] } ] } diff --git a/src/HotChocolate/Fusion/test/Fusion.Diagnostics.Tests/__snapshots__/FusionActivityExecutionDiagnosticListenerTests.Track_Events_Of_A_Simple_Query_Default.snap b/src/HotChocolate/Fusion/test/Fusion.Diagnostics.Tests/__snapshots__/FusionActivityExecutionDiagnosticListenerTests.Track_Events_Of_A_Simple_Query_Default.snap index ba0624d5a22..80fcb835feb 100644 --- a/src/HotChocolate/Fusion/test/Fusion.Diagnostics.Tests/__snapshots__/FusionActivityExecutionDiagnosticListenerTests.Track_Events_Of_A_Simple_Query_Default.snap +++ b/src/HotChocolate/Fusion/test/Fusion.Diagnostics.Tests/__snapshots__/FusionActivityExecutionDiagnosticListenerTests.Track_Events_Of_A_Simple_Query_Default.snap @@ -3,6 +3,7 @@ { "OperationName": "GraphQL Document Validation", "DisplayName": "GraphQL Document Validation", + "Kind": "Internal", "Status": "Ok", "tags": [ { @@ -19,6 +20,7 @@ { "OperationName": "GraphQL Operation Planning", "DisplayName": "GraphQL Operation Planning", + "Kind": "Internal", "Status": "Ok", "tags": [ { @@ -39,6 +41,7 @@ { "OperationName": "GraphQL Step Execution", "DisplayName": "GraphQL Step Execution", + "Kind": "Internal", "Status": "Ok", "tags": [ { @@ -74,7 +77,7 @@ "Value": "Op_f7e9989f_1" }, { - "Key": "graphql.source.operation.kind", + "Key": "graphql.source.operation.type", "Value": "query" }, { @@ -82,7 +85,34 @@ "Value": "sha256:35c1feb1208268226c7d5d5d0ae122e4d38cb79621e862b1e252d37fc83c530a" } ], - "event": [] + "event": [], + "activities": [ + { + "OperationName": "query", + "DisplayName": "query", + "Kind": "Client", + "Status": "Ok", + "tags": [ + { + "Key": "graphql.operation.type", + "Value": "query" + }, + { + "Key": "graphql.operation.name", + "Value": "Op_f7e9989f_1" + }, + { + "Key": "graphql.document.hash", + "Value": "sha256:35c1feb1208268226c7d5d5d0ae122e4d38cb79621e862b1e252d37fc83c530a" + }, + { + "Key": "graphql.source.name", + "Value": "a" + } + ], + "event": [] + } + ] } ] } diff --git a/src/HotChocolate/Fusion/test/Fusion.Diagnostics.Tests/__snapshots__/FusionActivityExecutionDiagnosticListenerTests.UntrustedDocumentRejected_RecordsEvent.snap b/src/HotChocolate/Fusion/test/Fusion.Diagnostics.Tests/__snapshots__/FusionActivityExecutionDiagnosticListenerTests.UntrustedDocumentRejected_RecordsEvent.snap index 79183640227..380f4db9762 100644 --- a/src/HotChocolate/Fusion/test/Fusion.Diagnostics.Tests/__snapshots__/FusionActivityExecutionDiagnosticListenerTests.UntrustedDocumentRejected_RecordsEvent.snap +++ b/src/HotChocolate/Fusion/test/Fusion.Diagnostics.Tests/__snapshots__/FusionActivityExecutionDiagnosticListenerTests.UntrustedDocumentRejected_RecordsEvent.snap @@ -3,11 +3,16 @@ { "OperationName": "GraphQL Operation", "DisplayName": "GraphQL Operation", + "Kind": "Internal", "Status": "Error", "tags": [ { - "Key": "graphql.errors.count", + "Key": "graphql.error.count", "Value": 1 + }, + { + "Key": "error.type", + "Value": "EXECUTION_ERROR" } ], "event": [ diff --git a/src/HotChocolate/Fusion/test/Fusion.Diagnostics.Tests/__snapshots__/FusionActivityExecutionDiagnosticListenerTests.ValidationError_UnknownField_ReportsErrorStatus.snap b/src/HotChocolate/Fusion/test/Fusion.Diagnostics.Tests/__snapshots__/FusionActivityExecutionDiagnosticListenerTests.ValidationError_UnknownField_ReportsErrorStatus.snap index d228b891f62..faff6625d67 100644 --- a/src/HotChocolate/Fusion/test/Fusion.Diagnostics.Tests/__snapshots__/FusionActivityExecutionDiagnosticListenerTests.ValidationError_UnknownField_ReportsErrorStatus.snap +++ b/src/HotChocolate/Fusion/test/Fusion.Diagnostics.Tests/__snapshots__/FusionActivityExecutionDiagnosticListenerTests.ValidationError_UnknownField_ReportsErrorStatus.snap @@ -3,6 +3,7 @@ { "OperationName": "GraphQL Operation", "DisplayName": "GraphQL Operation", + "Kind": "Internal", "Status": "Error", "tags": [ { @@ -10,8 +11,12 @@ "Value": "md5:1526f207d516803b71eb8a0db419b57b" }, { - "Key": "graphql.errors.count", + "Key": "graphql.error.count", "Value": 1 + }, + { + "Key": "error.type", + "Value": "EXECUTION_ERROR" } ], "event": [], @@ -19,6 +24,7 @@ { "OperationName": "GraphQL Document Parsing", "DisplayName": "GraphQL Document Parsing", + "Kind": "Internal", "Status": "Ok", "tags": [ { @@ -31,6 +37,7 @@ { "OperationName": "GraphQL Document Validation", "DisplayName": "GraphQL Document Validation", + "Kind": "Internal", "Status": "Error", "tags": [ { @@ -40,11 +47,15 @@ { "Key": "graphql.document.hash", "Value": "md5:1526f207d516803b71eb8a0db419b57b" + }, + { + "Key": "error.type", + "Value": "GRAPHQL_ERROR" } ], "event": [ { - "Name": "exception", + "Name": "graphql.error", "Tags": [ { "Key": "graphql.error.message", diff --git a/src/HotChocolate/Fusion/test/Fusion.Diagnostics.Tests/__snapshots__/FusionActivityServerDiagnosticListenerTests.Http_Get_SDL_Download.snap b/src/HotChocolate/Fusion/test/Fusion.Diagnostics.Tests/__snapshots__/FusionActivityServerDiagnosticListenerTests.Http_Get_SDL_Download.snap index d77edd7831a..58586983eef 100644 --- a/src/HotChocolate/Fusion/test/Fusion.Diagnostics.Tests/__snapshots__/FusionActivityServerDiagnosticListenerTests.Http_Get_SDL_Download.snap +++ b/src/HotChocolate/Fusion/test/Fusion.Diagnostics.Tests/__snapshots__/FusionActivityServerDiagnosticListenerTests.Http_Get_SDL_Download.snap @@ -3,6 +3,7 @@ { "OperationName": "ExecuteHttpRequest", "DisplayName": "GraphQL HTTP GET SDL", + "Kind": "Internal", "Status": "Ok", "tags": [ { diff --git a/src/HotChocolate/Fusion/test/Fusion.Diagnostics.Tests/__snapshots__/FusionActivityServerDiagnosticListenerTests.Http_Get_Single_Request.snap b/src/HotChocolate/Fusion/test/Fusion.Diagnostics.Tests/__snapshots__/FusionActivityServerDiagnosticListenerTests.Http_Get_Single_Request.snap index 987ea9ba51a..d2d5ca2fcf5 100644 --- a/src/HotChocolate/Fusion/test/Fusion.Diagnostics.Tests/__snapshots__/FusionActivityServerDiagnosticListenerTests.Http_Get_Single_Request.snap +++ b/src/HotChocolate/Fusion/test/Fusion.Diagnostics.Tests/__snapshots__/FusionActivityServerDiagnosticListenerTests.Http_Get_Single_Request.snap @@ -3,6 +3,7 @@ { "OperationName": "ExecuteHttpRequest", "DisplayName": "GraphQL HTTP GET", + "Kind": "Internal", "Status": "Ok", "tags": [ { @@ -27,6 +28,7 @@ { "OperationName": "Parse HTTP Request", "DisplayName": "Parse HTTP Request", + "Kind": "Internal", "Status": "Ok", "tags": [], "event": [] @@ -34,6 +36,7 @@ { "OperationName": "GraphQL Operation", "DisplayName": "query", + "Kind": "Internal", "Status": "Ok", "tags": [ { @@ -45,7 +48,7 @@ "Value": "md5:f7e9989fbb67af7fa747a9983313c9e5" }, { - "Key": "graphql.errors.count", + "Key": "graphql.error.count", "Value": 0 } ], @@ -63,6 +66,7 @@ { "OperationName": "GraphQL Document Validation", "DisplayName": "GraphQL Document Validation", + "Kind": "Internal", "Status": "Ok", "tags": [ { @@ -79,6 +83,7 @@ { "OperationName": "GraphQL Operation Planning", "DisplayName": "GraphQL Operation Planning", + "Kind": "Internal", "Status": "Ok", "tags": [ { @@ -99,6 +104,7 @@ { "OperationName": "GraphQL Operation Execution", "DisplayName": "GraphQL Operation Execution", + "Kind": "Internal", "Status": "Ok", "tags": [ { @@ -119,6 +125,7 @@ { "OperationName": "GraphQL Step Execution", "DisplayName": "GraphQL Step Execution", + "Kind": "Internal", "Status": "Ok", "tags": [ { @@ -154,7 +161,7 @@ "Value": "Op_f7e9989f_1" }, { - "Key": "graphql.source.operation.kind", + "Key": "graphql.source.operation.type", "Value": "query" }, { @@ -162,7 +169,34 @@ "Value": "sha256:35c1feb1208268226c7d5d5d0ae122e4d38cb79621e862b1e252d37fc83c530a" } ], - "event": [] + "event": [], + "activities": [ + { + "OperationName": "query", + "DisplayName": "query", + "Kind": "Client", + "Status": "Ok", + "tags": [ + { + "Key": "graphql.operation.type", + "Value": "query" + }, + { + "Key": "graphql.operation.name", + "Value": "Op_f7e9989f_1" + }, + { + "Key": "graphql.document.hash", + "Value": "sha256:35c1feb1208268226c7d5d5d0ae122e4d38cb79621e862b1e252d37fc83c530a" + }, + { + "Key": "graphql.source.name", + "Value": "a" + } + ], + "event": [] + } + ] } ] } @@ -171,6 +205,7 @@ { "OperationName": "Format HTTP Response", "DisplayName": "Format HTTP Response", + "Kind": "Internal", "Status": "Ok", "tags": [], "event": [] diff --git a/src/HotChocolate/Fusion/test/Fusion.Diagnostics.Tests/__snapshots__/FusionActivityServerDiagnosticListenerTests.Http_Post_Add_Variables_To_Http_Activity.snap b/src/HotChocolate/Fusion/test/Fusion.Diagnostics.Tests/__snapshots__/FusionActivityServerDiagnosticListenerTests.Http_Post_Add_Variables_To_Http_Activity.snap index b38acc12761..d1dec42a36f 100644 --- a/src/HotChocolate/Fusion/test/Fusion.Diagnostics.Tests/__snapshots__/FusionActivityServerDiagnosticListenerTests.Http_Post_Add_Variables_To_Http_Activity.snap +++ b/src/HotChocolate/Fusion/test/Fusion.Diagnostics.Tests/__snapshots__/FusionActivityServerDiagnosticListenerTests.Http_Post_Add_Variables_To_Http_Activity.snap @@ -3,6 +3,7 @@ { "OperationName": "ExecuteHttpRequest", "DisplayName": "GraphQL HTTP POST", + "Kind": "Internal", "Status": "Ok", "tags": [ { @@ -35,6 +36,7 @@ { "OperationName": "Parse HTTP Request", "DisplayName": "Parse HTTP Request", + "Kind": "Internal", "Status": "Ok", "tags": [], "event": [] @@ -42,6 +44,7 @@ { "OperationName": "GraphQL Operation", "DisplayName": "query", + "Kind": "Internal", "Status": "Ok", "tags": [ { @@ -53,7 +56,7 @@ "Value": "md5:c46cf8c9811934ddea095f10ee722dc4" }, { - "Key": "graphql.errors.count", + "Key": "graphql.error.count", "Value": 0 } ], @@ -71,6 +74,7 @@ { "OperationName": "GraphQL Document Validation", "DisplayName": "GraphQL Document Validation", + "Kind": "Internal", "Status": "Ok", "tags": [ { @@ -87,6 +91,7 @@ { "OperationName": "GraphQL Operation Planning", "DisplayName": "GraphQL Operation Planning", + "Kind": "Internal", "Status": "Ok", "tags": [ { @@ -107,6 +112,7 @@ { "OperationName": "GraphQL Variable Coercion", "DisplayName": "GraphQL Variable Coercion", + "Kind": "Internal", "Status": "Ok", "tags": [ { @@ -127,6 +133,7 @@ { "OperationName": "GraphQL Operation Execution", "DisplayName": "GraphQL Operation Execution", + "Kind": "Internal", "Status": "Ok", "tags": [ { @@ -147,6 +154,7 @@ { "OperationName": "GraphQL Step Execution", "DisplayName": "GraphQL Step Execution", + "Kind": "Internal", "Status": "Ok", "tags": [ { @@ -182,7 +190,7 @@ "Value": "Op_c46cf8c9_1" }, { - "Key": "graphql.source.operation.kind", + "Key": "graphql.source.operation.type", "Value": "query" }, { @@ -190,7 +198,34 @@ "Value": "sha256:a6738007b3546a7458414ee647c93aa373bc22ca57256f4a4a5c8ef3aa886470" } ], - "event": [] + "event": [], + "activities": [ + { + "OperationName": "query", + "DisplayName": "query", + "Kind": "Client", + "Status": "Ok", + "tags": [ + { + "Key": "graphql.operation.type", + "Value": "query" + }, + { + "Key": "graphql.operation.name", + "Value": "Op_c46cf8c9_1" + }, + { + "Key": "graphql.document.hash", + "Value": "sha256:a6738007b3546a7458414ee647c93aa373bc22ca57256f4a4a5c8ef3aa886470" + }, + { + "Key": "graphql.source.name", + "Value": "a" + } + ], + "event": [] + } + ] } ] } @@ -199,6 +234,7 @@ { "OperationName": "Format HTTP Response", "DisplayName": "Format HTTP Response", + "Kind": "Internal", "Status": "Ok", "tags": [], "event": [] diff --git a/src/HotChocolate/Fusion/test/Fusion.Diagnostics.Tests/__snapshots__/FusionActivityServerDiagnosticListenerTests.Http_Post_Parser_Error.snap b/src/HotChocolate/Fusion/test/Fusion.Diagnostics.Tests/__snapshots__/FusionActivityServerDiagnosticListenerTests.Http_Post_Parser_Error.snap index 955f4d24f0c..4d6ed065489 100644 --- a/src/HotChocolate/Fusion/test/Fusion.Diagnostics.Tests/__snapshots__/FusionActivityServerDiagnosticListenerTests.Http_Post_Parser_Error.snap +++ b/src/HotChocolate/Fusion/test/Fusion.Diagnostics.Tests/__snapshots__/FusionActivityServerDiagnosticListenerTests.Http_Post_Parser_Error.snap @@ -3,6 +3,7 @@ { "OperationName": "ExecuteHttpRequest", "DisplayName": "GraphQL HTTP POST", + "Kind": "Internal", "Status": "Ok", "tags": [ { @@ -19,11 +20,17 @@ { "OperationName": "Parse HTTP Request", "DisplayName": "Parse HTTP Request", + "Kind": "Internal", "Status": "Error", - "tags": [], + "tags": [ + { + "Key": "error.type", + "Value": "HC0011" + } + ], "event": [ { - "Name": "exception", + "Name": "graphql.error", "Tags": [ { "Key": "graphql.error.message", @@ -49,6 +56,7 @@ { "OperationName": "Format HTTP Response", "DisplayName": "Format HTTP Response", + "Kind": "Internal", "Status": "Ok", "tags": [], "event": [] diff --git a/src/HotChocolate/Fusion/test/Fusion.Diagnostics.Tests/__snapshots__/FusionActivityServerDiagnosticListenerTests.Http_Post_Single_Request.snap b/src/HotChocolate/Fusion/test/Fusion.Diagnostics.Tests/__snapshots__/FusionActivityServerDiagnosticListenerTests.Http_Post_Single_Request.snap index 70981523134..583adf8c449 100644 --- a/src/HotChocolate/Fusion/test/Fusion.Diagnostics.Tests/__snapshots__/FusionActivityServerDiagnosticListenerTests.Http_Post_Single_Request.snap +++ b/src/HotChocolate/Fusion/test/Fusion.Diagnostics.Tests/__snapshots__/FusionActivityServerDiagnosticListenerTests.Http_Post_Single_Request.snap @@ -3,6 +3,7 @@ { "OperationName": "ExecuteHttpRequest", "DisplayName": "GraphQL HTTP POST", + "Kind": "Internal", "Status": "Ok", "tags": [ { @@ -31,6 +32,7 @@ { "OperationName": "Parse HTTP Request", "DisplayName": "Parse HTTP Request", + "Kind": "Internal", "Status": "Ok", "tags": [], "event": [] @@ -38,6 +40,7 @@ { "OperationName": "GraphQL Operation", "DisplayName": "query", + "Kind": "Internal", "Status": "Ok", "tags": [ { @@ -49,7 +52,7 @@ "Value": "md5:f7e9989fbb67af7fa747a9983313c9e5" }, { - "Key": "graphql.errors.count", + "Key": "graphql.error.count", "Value": 0 } ], @@ -67,6 +70,7 @@ { "OperationName": "GraphQL Document Validation", "DisplayName": "GraphQL Document Validation", + "Kind": "Internal", "Status": "Ok", "tags": [ { @@ -83,6 +87,7 @@ { "OperationName": "GraphQL Operation Planning", "DisplayName": "GraphQL Operation Planning", + "Kind": "Internal", "Status": "Ok", "tags": [ { @@ -103,6 +108,7 @@ { "OperationName": "GraphQL Operation Execution", "DisplayName": "GraphQL Operation Execution", + "Kind": "Internal", "Status": "Ok", "tags": [ { @@ -123,6 +129,7 @@ { "OperationName": "GraphQL Step Execution", "DisplayName": "GraphQL Step Execution", + "Kind": "Internal", "Status": "Ok", "tags": [ { @@ -158,7 +165,7 @@ "Value": "Op_f7e9989f_1" }, { - "Key": "graphql.source.operation.kind", + "Key": "graphql.source.operation.type", "Value": "query" }, { @@ -166,7 +173,34 @@ "Value": "sha256:35c1feb1208268226c7d5d5d0ae122e4d38cb79621e862b1e252d37fc83c530a" } ], - "event": [] + "event": [], + "activities": [ + { + "OperationName": "query", + "DisplayName": "query", + "Kind": "Client", + "Status": "Ok", + "tags": [ + { + "Key": "graphql.operation.type", + "Value": "query" + }, + { + "Key": "graphql.operation.name", + "Value": "Op_f7e9989f_1" + }, + { + "Key": "graphql.document.hash", + "Value": "sha256:35c1feb1208268226c7d5d5d0ae122e4d38cb79621e862b1e252d37fc83c530a" + }, + { + "Key": "graphql.source.name", + "Value": "a" + } + ], + "event": [] + } + ] } ] } @@ -175,6 +209,7 @@ { "OperationName": "Format HTTP Response", "DisplayName": "Format HTTP Response", + "Kind": "Internal", "Status": "Ok", "tags": [], "event": [] diff --git a/src/HotChocolate/Fusion/test/Fusion.Diagnostics.Tests/__snapshots__/FusionActivityServerDiagnosticListenerTests.Http_Post_Single_Request_Default.snap b/src/HotChocolate/Fusion/test/Fusion.Diagnostics.Tests/__snapshots__/FusionActivityServerDiagnosticListenerTests.Http_Post_Single_Request_Default.snap index a5489ca38e6..132daf027df 100644 --- a/src/HotChocolate/Fusion/test/Fusion.Diagnostics.Tests/__snapshots__/FusionActivityServerDiagnosticListenerTests.Http_Post_Single_Request_Default.snap +++ b/src/HotChocolate/Fusion/test/Fusion.Diagnostics.Tests/__snapshots__/FusionActivityServerDiagnosticListenerTests.Http_Post_Single_Request_Default.snap @@ -3,6 +3,7 @@ { "OperationName": "ExecuteHttpRequest", "DisplayName": "query", + "Kind": "Internal", "Status": "Ok", "tags": [ { @@ -34,7 +35,7 @@ "Value": "md5:f7e9989fbb67af7fa747a9983313c9e5" }, { - "Key": "graphql.errors.count", + "Key": "graphql.error.count", "Value": 0 } ], @@ -52,6 +53,7 @@ { "OperationName": "Parse HTTP Request", "DisplayName": "Parse HTTP Request", + "Kind": "Internal", "Status": "Ok", "tags": [], "event": [] @@ -59,6 +61,7 @@ { "OperationName": "GraphQL Document Validation", "DisplayName": "GraphQL Document Validation", + "Kind": "Internal", "Status": "Ok", "tags": [ { @@ -75,6 +78,7 @@ { "OperationName": "GraphQL Operation Planning", "DisplayName": "GraphQL Operation Planning", + "Kind": "Internal", "Status": "Ok", "tags": [ { @@ -95,6 +99,7 @@ { "OperationName": "GraphQL Step Execution", "DisplayName": "GraphQL Step Execution", + "Kind": "Internal", "Status": "Ok", "tags": [ { @@ -130,7 +135,7 @@ "Value": "Op_f7e9989f_1" }, { - "Key": "graphql.source.operation.kind", + "Key": "graphql.source.operation.type", "Value": "query" }, { @@ -138,11 +143,39 @@ "Value": "sha256:35c1feb1208268226c7d5d5d0ae122e4d38cb79621e862b1e252d37fc83c530a" } ], - "event": [] + "event": [], + "activities": [ + { + "OperationName": "query", + "DisplayName": "query", + "Kind": "Client", + "Status": "Ok", + "tags": [ + { + "Key": "graphql.operation.type", + "Value": "query" + }, + { + "Key": "graphql.operation.name", + "Value": "Op_f7e9989f_1" + }, + { + "Key": "graphql.document.hash", + "Value": "sha256:35c1feb1208268226c7d5d5d0ae122e4d38cb79621e862b1e252d37fc83c530a" + }, + { + "Key": "graphql.source.name", + "Value": "a" + } + ], + "event": [] + } + ] }, { "OperationName": "Format HTTP Response", "DisplayName": "Format HTTP Response", + "Kind": "Internal", "Status": "Ok", "tags": [], "event": [] diff --git a/src/HotChocolate/Fusion/test/Fusion.Diagnostics.Tests/__snapshots__/FusionActivityServerDiagnosticListenerTests.Http_Post_Variables_Are_Not_Automatically_Added_To_Activities.snap b/src/HotChocolate/Fusion/test/Fusion.Diagnostics.Tests/__snapshots__/FusionActivityServerDiagnosticListenerTests.Http_Post_Variables_Are_Not_Automatically_Added_To_Activities.snap index 6160b3d6b1c..cdb08b3897d 100644 --- a/src/HotChocolate/Fusion/test/Fusion.Diagnostics.Tests/__snapshots__/FusionActivityServerDiagnosticListenerTests.Http_Post_Variables_Are_Not_Automatically_Added_To_Activities.snap +++ b/src/HotChocolate/Fusion/test/Fusion.Diagnostics.Tests/__snapshots__/FusionActivityServerDiagnosticListenerTests.Http_Post_Variables_Are_Not_Automatically_Added_To_Activities.snap @@ -3,6 +3,7 @@ { "OperationName": "ExecuteHttpRequest", "DisplayName": "GraphQL HTTP POST", + "Kind": "Internal", "Status": "Ok", "tags": [ { @@ -31,6 +32,7 @@ { "OperationName": "Parse HTTP Request", "DisplayName": "Parse HTTP Request", + "Kind": "Internal", "Status": "Ok", "tags": [], "event": [] @@ -38,6 +40,7 @@ { "OperationName": "GraphQL Operation", "DisplayName": "query", + "Kind": "Internal", "Status": "Ok", "tags": [ { @@ -49,7 +52,7 @@ "Value": "md5:c46cf8c9811934ddea095f10ee722dc4" }, { - "Key": "graphql.errors.count", + "Key": "graphql.error.count", "Value": 0 } ], @@ -67,6 +70,7 @@ { "OperationName": "GraphQL Document Validation", "DisplayName": "GraphQL Document Validation", + "Kind": "Internal", "Status": "Ok", "tags": [ { @@ -83,6 +87,7 @@ { "OperationName": "GraphQL Operation Planning", "DisplayName": "GraphQL Operation Planning", + "Kind": "Internal", "Status": "Ok", "tags": [ { @@ -103,6 +108,7 @@ { "OperationName": "GraphQL Variable Coercion", "DisplayName": "GraphQL Variable Coercion", + "Kind": "Internal", "Status": "Ok", "tags": [ { @@ -123,6 +129,7 @@ { "OperationName": "GraphQL Operation Execution", "DisplayName": "GraphQL Operation Execution", + "Kind": "Internal", "Status": "Ok", "tags": [ { @@ -143,6 +150,7 @@ { "OperationName": "GraphQL Step Execution", "DisplayName": "GraphQL Step Execution", + "Kind": "Internal", "Status": "Ok", "tags": [ { @@ -178,7 +186,7 @@ "Value": "Op_c46cf8c9_1" }, { - "Key": "graphql.source.operation.kind", + "Key": "graphql.source.operation.type", "Value": "query" }, { @@ -186,7 +194,34 @@ "Value": "sha256:a6738007b3546a7458414ee647c93aa373bc22ca57256f4a4a5c8ef3aa886470" } ], - "event": [] + "event": [], + "activities": [ + { + "OperationName": "query", + "DisplayName": "query", + "Kind": "Client", + "Status": "Ok", + "tags": [ + { + "Key": "graphql.operation.type", + "Value": "query" + }, + { + "Key": "graphql.operation.name", + "Value": "Op_c46cf8c9_1" + }, + { + "Key": "graphql.document.hash", + "Value": "sha256:a6738007b3546a7458414ee647c93aa373bc22ca57256f4a4a5c8ef3aa886470" + }, + { + "Key": "graphql.source.name", + "Value": "a" + } + ], + "event": [] + } + ] } ] } @@ -195,6 +230,7 @@ { "OperationName": "Format HTTP Response", "DisplayName": "Format HTTP Response", + "Kind": "Internal", "Status": "Ok", "tags": [], "event": [] diff --git a/src/HotChocolate/Fusion/test/Fusion.Diagnostics.Tests/__snapshots__/FusionActivityServerDiagnosticListenerTests.Http_Post_With_Extensions_Map.snap b/src/HotChocolate/Fusion/test/Fusion.Diagnostics.Tests/__snapshots__/FusionActivityServerDiagnosticListenerTests.Http_Post_With_Extensions_Map.snap index 99ea58b3415..311cecdeaa7 100644 --- a/src/HotChocolate/Fusion/test/Fusion.Diagnostics.Tests/__snapshots__/FusionActivityServerDiagnosticListenerTests.Http_Post_With_Extensions_Map.snap +++ b/src/HotChocolate/Fusion/test/Fusion.Diagnostics.Tests/__snapshots__/FusionActivityServerDiagnosticListenerTests.Http_Post_With_Extensions_Map.snap @@ -3,6 +3,7 @@ { "OperationName": "ExecuteHttpRequest", "DisplayName": "GraphQL HTTP POST", + "Kind": "Internal", "Status": "Ok", "tags": [ { @@ -35,6 +36,7 @@ { "OperationName": "Parse HTTP Request", "DisplayName": "Parse HTTP Request", + "Kind": "Internal", "Status": "Ok", "tags": [], "event": [] @@ -42,6 +44,7 @@ { "OperationName": "GraphQL Operation", "DisplayName": "query", + "Kind": "Internal", "Status": "Ok", "tags": [ { @@ -53,7 +56,7 @@ "Value": "md5:c46cf8c9811934ddea095f10ee722dc4" }, { - "Key": "graphql.errors.count", + "Key": "graphql.error.count", "Value": 0 } ], @@ -71,6 +74,7 @@ { "OperationName": "GraphQL Document Validation", "DisplayName": "GraphQL Document Validation", + "Kind": "Internal", "Status": "Ok", "tags": [ { @@ -87,6 +91,7 @@ { "OperationName": "GraphQL Operation Planning", "DisplayName": "GraphQL Operation Planning", + "Kind": "Internal", "Status": "Ok", "tags": [ { @@ -107,6 +112,7 @@ { "OperationName": "GraphQL Variable Coercion", "DisplayName": "GraphQL Variable Coercion", + "Kind": "Internal", "Status": "Ok", "tags": [ { @@ -127,6 +133,7 @@ { "OperationName": "GraphQL Operation Execution", "DisplayName": "GraphQL Operation Execution", + "Kind": "Internal", "Status": "Ok", "tags": [ { @@ -147,6 +154,7 @@ { "OperationName": "GraphQL Step Execution", "DisplayName": "GraphQL Step Execution", + "Kind": "Internal", "Status": "Ok", "tags": [ { @@ -182,7 +190,7 @@ "Value": "Op_c46cf8c9_1" }, { - "Key": "graphql.source.operation.kind", + "Key": "graphql.source.operation.type", "Value": "query" }, { @@ -190,7 +198,34 @@ "Value": "sha256:a6738007b3546a7458414ee647c93aa373bc22ca57256f4a4a5c8ef3aa886470" } ], - "event": [] + "event": [], + "activities": [ + { + "OperationName": "query", + "DisplayName": "query", + "Kind": "Client", + "Status": "Ok", + "tags": [ + { + "Key": "graphql.operation.type", + "Value": "query" + }, + { + "Key": "graphql.operation.name", + "Value": "Op_c46cf8c9_1" + }, + { + "Key": "graphql.document.hash", + "Value": "sha256:a6738007b3546a7458414ee647c93aa373bc22ca57256f4a4a5c8ef3aa886470" + }, + { + "Key": "graphql.source.name", + "Value": "a" + } + ], + "event": [] + } + ] } ] } @@ -199,6 +234,7 @@ { "OperationName": "Format HTTP Response", "DisplayName": "Format HTTP Response", + "Kind": "Internal", "Status": "Ok", "tags": [], "event": [] diff --git a/src/HotChocolate/Fusion/test/Fusion.Diagnostics.Tests/__snapshots__/FusionActivityServerDiagnosticListenerTests.RequestDetails_All_IncludesAllDetails.snap b/src/HotChocolate/Fusion/test/Fusion.Diagnostics.Tests/__snapshots__/FusionActivityServerDiagnosticListenerTests.RequestDetails_All_IncludesAllDetails.snap index 66272f5f7b1..f828cbd40ac 100644 --- a/src/HotChocolate/Fusion/test/Fusion.Diagnostics.Tests/__snapshots__/FusionActivityServerDiagnosticListenerTests.RequestDetails_All_IncludesAllDetails.snap +++ b/src/HotChocolate/Fusion/test/Fusion.Diagnostics.Tests/__snapshots__/FusionActivityServerDiagnosticListenerTests.RequestDetails_All_IncludesAllDetails.snap @@ -3,6 +3,7 @@ { "OperationName": "ExecuteHttpRequest", "DisplayName": "GraphQL HTTP POST", + "Kind": "Internal", "Status": "Ok", "tags": [ { @@ -43,6 +44,7 @@ { "OperationName": "Parse HTTP Request", "DisplayName": "Parse HTTP Request", + "Kind": "Internal", "Status": "Ok", "tags": [], "event": [] @@ -50,6 +52,7 @@ { "OperationName": "GraphQL Operation", "DisplayName": "query", + "Kind": "Internal", "Status": "Ok", "tags": [ { @@ -65,7 +68,7 @@ "Value": "md5:111e40f921c6c6a35bc7eb0e3873630e" }, { - "Key": "graphql.errors.count", + "Key": "graphql.error.count", "Value": 0 } ], @@ -83,6 +86,7 @@ { "OperationName": "GraphQL Document Validation", "DisplayName": "GraphQL Document Validation", + "Kind": "Internal", "Status": "Ok", "tags": [ { @@ -99,6 +103,7 @@ { "OperationName": "GraphQL Operation Planning", "DisplayName": "GraphQL Operation Planning", + "Kind": "Internal", "Status": "Ok", "tags": [ { @@ -123,6 +128,7 @@ { "OperationName": "GraphQL Variable Coercion", "DisplayName": "GraphQL Variable Coercion", + "Kind": "Internal", "Status": "Ok", "tags": [ { @@ -147,6 +153,7 @@ { "OperationName": "GraphQL Operation Execution", "DisplayName": "GraphQL Operation Execution", + "Kind": "Internal", "Status": "Ok", "tags": [ { @@ -171,6 +178,7 @@ { "OperationName": "GraphQL Step Execution", "DisplayName": "GraphQL Step Execution", + "Kind": "Internal", "Status": "Ok", "tags": [ { @@ -210,7 +218,7 @@ "Value": "GetGreeting_111e40f9_1" }, { - "Key": "graphql.source.operation.kind", + "Key": "graphql.source.operation.type", "Value": "query" }, { @@ -218,7 +226,34 @@ "Value": "sha256:00692b6fbeb8014bcc1eb8932d5924dc0c5e5ea3e158e34979ec322c2e1b3c40" } ], - "event": [] + "event": [], + "activities": [ + { + "OperationName": "query", + "DisplayName": "query", + "Kind": "Client", + "Status": "Ok", + "tags": [ + { + "Key": "graphql.operation.type", + "Value": "query" + }, + { + "Key": "graphql.operation.name", + "Value": "GetGreeting_111e40f9_1" + }, + { + "Key": "graphql.document.hash", + "Value": "sha256:00692b6fbeb8014bcc1eb8932d5924dc0c5e5ea3e158e34979ec322c2e1b3c40" + }, + { + "Key": "graphql.source.name", + "Value": "a" + } + ], + "event": [] + } + ] } ] } @@ -227,6 +262,7 @@ { "OperationName": "Format HTTP Response", "DisplayName": "Format HTTP Response", + "Kind": "Internal", "Status": "Ok", "tags": [], "event": [] diff --git a/src/HotChocolate/Fusion/test/Fusion.Diagnostics.Tests/__snapshots__/FusionActivityServerDiagnosticListenerTests.RequestDetails_Default_IncludesIdHashOperationNameExtensions.snap b/src/HotChocolate/Fusion/test/Fusion.Diagnostics.Tests/__snapshots__/FusionActivityServerDiagnosticListenerTests.RequestDetails_Default_IncludesIdHashOperationNameExtensions.snap index 6e187453d67..5c472201405 100644 --- a/src/HotChocolate/Fusion/test/Fusion.Diagnostics.Tests/__snapshots__/FusionActivityServerDiagnosticListenerTests.RequestDetails_Default_IncludesIdHashOperationNameExtensions.snap +++ b/src/HotChocolate/Fusion/test/Fusion.Diagnostics.Tests/__snapshots__/FusionActivityServerDiagnosticListenerTests.RequestDetails_Default_IncludesIdHashOperationNameExtensions.snap @@ -3,6 +3,7 @@ { "OperationName": "ExecuteHttpRequest", "DisplayName": "GraphQL HTTP POST", + "Kind": "Internal", "Status": "Ok", "tags": [ { @@ -35,6 +36,7 @@ { "OperationName": "Parse HTTP Request", "DisplayName": "Parse HTTP Request", + "Kind": "Internal", "Status": "Ok", "tags": [], "event": [] @@ -42,6 +44,7 @@ { "OperationName": "GraphQL Operation", "DisplayName": "query", + "Kind": "Internal", "Status": "Ok", "tags": [ { @@ -57,7 +60,7 @@ "Value": "md5:cf203f646caf64f424638bd2f09e490a" }, { - "Key": "graphql.errors.count", + "Key": "graphql.error.count", "Value": 0 } ], @@ -75,6 +78,7 @@ { "OperationName": "GraphQL Document Validation", "DisplayName": "GraphQL Document Validation", + "Kind": "Internal", "Status": "Ok", "tags": [ { @@ -91,6 +95,7 @@ { "OperationName": "GraphQL Operation Planning", "DisplayName": "GraphQL Operation Planning", + "Kind": "Internal", "Status": "Ok", "tags": [ { @@ -115,6 +120,7 @@ { "OperationName": "GraphQL Operation Execution", "DisplayName": "GraphQL Operation Execution", + "Kind": "Internal", "Status": "Ok", "tags": [ { @@ -139,6 +145,7 @@ { "OperationName": "GraphQL Step Execution", "DisplayName": "GraphQL Step Execution", + "Kind": "Internal", "Status": "Ok", "tags": [ { @@ -178,7 +185,7 @@ "Value": "GetGreeting_cf203f64_1" }, { - "Key": "graphql.source.operation.kind", + "Key": "graphql.source.operation.type", "Value": "query" }, { @@ -186,7 +193,34 @@ "Value": "sha256:579285518f37f039b04a0268fd6058a3903e369efccd77c48e7c045c35f25428" } ], - "event": [] + "event": [], + "activities": [ + { + "OperationName": "query", + "DisplayName": "query", + "Kind": "Client", + "Status": "Ok", + "tags": [ + { + "Key": "graphql.operation.type", + "Value": "query" + }, + { + "Key": "graphql.operation.name", + "Value": "GetGreeting_cf203f64_1" + }, + { + "Key": "graphql.document.hash", + "Value": "sha256:579285518f37f039b04a0268fd6058a3903e369efccd77c48e7c045c35f25428" + }, + { + "Key": "graphql.source.name", + "Value": "a" + } + ], + "event": [] + } + ] } ] } @@ -195,6 +229,7 @@ { "OperationName": "Format HTTP Response", "DisplayName": "Format HTTP Response", + "Kind": "Internal", "Status": "Ok", "tags": [], "event": [] diff --git a/src/HotChocolate/Fusion/test/Fusion.Diagnostics.Tests/__snapshots__/FusionActivityServerDiagnosticListenerTests.RequestDetails_DocumentOnly_IncludesDocumentTag.snap b/src/HotChocolate/Fusion/test/Fusion.Diagnostics.Tests/__snapshots__/FusionActivityServerDiagnosticListenerTests.RequestDetails_DocumentOnly_IncludesDocumentTag.snap index 6dbc1f0a880..ac49f06c0c1 100644 --- a/src/HotChocolate/Fusion/test/Fusion.Diagnostics.Tests/__snapshots__/FusionActivityServerDiagnosticListenerTests.RequestDetails_DocumentOnly_IncludesDocumentTag.snap +++ b/src/HotChocolate/Fusion/test/Fusion.Diagnostics.Tests/__snapshots__/FusionActivityServerDiagnosticListenerTests.RequestDetails_DocumentOnly_IncludesDocumentTag.snap @@ -3,6 +3,7 @@ { "OperationName": "ExecuteHttpRequest", "DisplayName": "GraphQL HTTP POST", + "Kind": "Internal", "Status": "Ok", "tags": [ { @@ -27,6 +28,7 @@ { "OperationName": "Parse HTTP Request", "DisplayName": "Parse HTTP Request", + "Kind": "Internal", "Status": "Ok", "tags": [], "event": [] @@ -34,6 +36,7 @@ { "OperationName": "GraphQL Operation", "DisplayName": "query", + "Kind": "Internal", "Status": "Ok", "tags": [ { @@ -45,7 +48,7 @@ "Value": "md5:f7e9989fbb67af7fa747a9983313c9e5" }, { - "Key": "graphql.errors.count", + "Key": "graphql.error.count", "Value": 0 } ], @@ -63,6 +66,7 @@ { "OperationName": "GraphQL Document Validation", "DisplayName": "GraphQL Document Validation", + "Kind": "Internal", "Status": "Ok", "tags": [ { @@ -79,6 +83,7 @@ { "OperationName": "GraphQL Operation Planning", "DisplayName": "GraphQL Operation Planning", + "Kind": "Internal", "Status": "Ok", "tags": [ { @@ -99,6 +104,7 @@ { "OperationName": "GraphQL Operation Execution", "DisplayName": "GraphQL Operation Execution", + "Kind": "Internal", "Status": "Ok", "tags": [ { @@ -119,6 +125,7 @@ { "OperationName": "GraphQL Step Execution", "DisplayName": "GraphQL Step Execution", + "Kind": "Internal", "Status": "Ok", "tags": [ { @@ -154,7 +161,7 @@ "Value": "Op_f7e9989f_1" }, { - "Key": "graphql.source.operation.kind", + "Key": "graphql.source.operation.type", "Value": "query" }, { @@ -162,7 +169,34 @@ "Value": "sha256:35c1feb1208268226c7d5d5d0ae122e4d38cb79621e862b1e252d37fc83c530a" } ], - "event": [] + "event": [], + "activities": [ + { + "OperationName": "query", + "DisplayName": "query", + "Kind": "Client", + "Status": "Ok", + "tags": [ + { + "Key": "graphql.operation.type", + "Value": "query" + }, + { + "Key": "graphql.operation.name", + "Value": "Op_f7e9989f_1" + }, + { + "Key": "graphql.document.hash", + "Value": "sha256:35c1feb1208268226c7d5d5d0ae122e4d38cb79621e862b1e252d37fc83c530a" + }, + { + "Key": "graphql.source.name", + "Value": "a" + } + ], + "event": [] + } + ] } ] } @@ -171,6 +205,7 @@ { "OperationName": "Format HTTP Response", "DisplayName": "Format HTTP Response", + "Kind": "Internal", "Status": "Ok", "tags": [], "event": [] diff --git a/src/HotChocolate/Fusion/test/Fusion.Diagnostics.Tests/__snapshots__/FusionActivityServerDiagnosticListenerTests.RequestDetails_None_ExcludesAllDetails.snap b/src/HotChocolate/Fusion/test/Fusion.Diagnostics.Tests/__snapshots__/FusionActivityServerDiagnosticListenerTests.RequestDetails_None_ExcludesAllDetails.snap index 7556cd38a76..b978d00b605 100644 --- a/src/HotChocolate/Fusion/test/Fusion.Diagnostics.Tests/__snapshots__/FusionActivityServerDiagnosticListenerTests.RequestDetails_None_ExcludesAllDetails.snap +++ b/src/HotChocolate/Fusion/test/Fusion.Diagnostics.Tests/__snapshots__/FusionActivityServerDiagnosticListenerTests.RequestDetails_None_ExcludesAllDetails.snap @@ -3,6 +3,7 @@ { "OperationName": "ExecuteHttpRequest", "DisplayName": "GraphQL HTTP POST", + "Kind": "Internal", "Status": "Ok", "tags": [ { @@ -19,6 +20,7 @@ { "OperationName": "Parse HTTP Request", "DisplayName": "Parse HTTP Request", + "Kind": "Internal", "Status": "Ok", "tags": [], "event": [] @@ -26,6 +28,7 @@ { "OperationName": "GraphQL Operation", "DisplayName": "query", + "Kind": "Internal", "Status": "Ok", "tags": [ { @@ -41,7 +44,7 @@ "Value": "md5:111e40f921c6c6a35bc7eb0e3873630e" }, { - "Key": "graphql.errors.count", + "Key": "graphql.error.count", "Value": 0 } ], @@ -59,6 +62,7 @@ { "OperationName": "GraphQL Document Validation", "DisplayName": "GraphQL Document Validation", + "Kind": "Internal", "Status": "Ok", "tags": [ { @@ -75,6 +79,7 @@ { "OperationName": "GraphQL Operation Planning", "DisplayName": "GraphQL Operation Planning", + "Kind": "Internal", "Status": "Ok", "tags": [ { @@ -99,6 +104,7 @@ { "OperationName": "GraphQL Variable Coercion", "DisplayName": "GraphQL Variable Coercion", + "Kind": "Internal", "Status": "Ok", "tags": [ { @@ -123,6 +129,7 @@ { "OperationName": "GraphQL Operation Execution", "DisplayName": "GraphQL Operation Execution", + "Kind": "Internal", "Status": "Ok", "tags": [ { @@ -147,6 +154,7 @@ { "OperationName": "GraphQL Step Execution", "DisplayName": "GraphQL Step Execution", + "Kind": "Internal", "Status": "Ok", "tags": [ { @@ -186,7 +194,7 @@ "Value": "GetGreeting_111e40f9_1" }, { - "Key": "graphql.source.operation.kind", + "Key": "graphql.source.operation.type", "Value": "query" }, { @@ -194,7 +202,34 @@ "Value": "sha256:00692b6fbeb8014bcc1eb8932d5924dc0c5e5ea3e158e34979ec322c2e1b3c40" } ], - "event": [] + "event": [], + "activities": [ + { + "OperationName": "query", + "DisplayName": "query", + "Kind": "Client", + "Status": "Ok", + "tags": [ + { + "Key": "graphql.operation.type", + "Value": "query" + }, + { + "Key": "graphql.operation.name", + "Value": "GetGreeting_111e40f9_1" + }, + { + "Key": "graphql.document.hash", + "Value": "sha256:00692b6fbeb8014bcc1eb8932d5924dc0c5e5ea3e158e34979ec322c2e1b3c40" + }, + { + "Key": "graphql.source.name", + "Value": "a" + } + ], + "event": [] + } + ] } ] } @@ -203,6 +238,7 @@ { "OperationName": "Format HTTP Response", "DisplayName": "Format HTTP Response", + "Kind": "Internal", "Status": "Ok", "tags": [], "event": []