From 4b81c229c1e971f90bc27277908011d79b5c5efd Mon Sep 17 00:00:00 2001 From: tobias-tengler <45513122+tobias-tengler@users.noreply.github.com> Date: Sat, 2 May 2026 22:08:18 +0200 Subject: [PATCH 1/3] Align to spec --- .../Extensions/ActivityExtensions.cs | 40 ++++++- .../Diagnostics.Core/SemanticConventions.cs | 1 - .../Spans/ExecuteRequestSpanBase.cs | 6 +- .../ActivityExecutionDiagnosticListener.cs | 3 +- .../src/Diagnostics/Spans/ResolveFieldSpan.cs | 2 +- ...esExecuteRequestAndParseDocumentSpans.snap | 6 +- ...erTests.Allow_Document_To_Be_Captured.snap | 6 +- ...r_Error_That_Deletes_The_Whole_Result.snap | 2 +- ...ityAnalysis_Enabled_RecordsCostInSpan.snap | 6 +- ...oader_BatchExecution_RecordsBatchSpan.snap | 6 +- ...hExecution_With_Keys_RecordsBatchSpan.snap | 6 +- ...esExecuteRequestAndParseDocumentSpans.snap | 2 +- ..._SecondExecution_RecordsCacheHitEvent.snap | 6 +- ...hExtensionsCode_SetsErrorTypeFromCode.snap | 2 +- ...ensionsCode_FallsBackToExecutionError.snap | 2 +- ...ration_LoadsFromStorage_DefaultScopes.snap | 2 +- ...ror_AtRootLevel_MarksOperationAsError.snap | 2 +- ...or_DeepInTree_MarksNestedFieldAsError.snap | 4 +- ...ield_SetsErrorTypeToExceptionTypeName.snap | 2 +- ...rror_Records_Subscription_Event_Error.snap | 6 +- ...Event_Records_Subscription_Event_Span.snap | 2 +- ...rack_Events_Of_A_Simple_Query_Default.snap | 2 +- ...ion_WithAllScopes_RecordsCoercionSpan.snap | 6 +- ...ts.Http_Get_SingleRequest_GetHeroName.snap | 6 +- ...p_Post_Add_Variables_To_Http_Activity.snap | 6 +- ...s.Http_Post_Capture_Deferred_Response.snap | 4 +- ...t_Ensure_List_Path_Is_Correctly_Built.snap | 14 +-- ...s.Http_Post_SingleRequest_GetHeroName.snap | 6 +- ...ost_SingleRequest_GetHeroName_Default.snap | 6 +- ...Not_Automatically_Added_To_Activities.snap | 6 +- ...erTests.Http_Post_With_Extensions_Map.snap | 6 +- ...RequestDetails_All_IncludesAllDetails.snap | 6 +- ...IncludesIdHashOperationNameExtensions.snap | 6 +- ...ails_DocumentOnly_IncludesDocumentTag.snap | 6 +- ...equestDetails_None_ExcludesAllDetails.snap | 6 +- ...ctivityExecutionDiagnosticEventListener.cs | 42 ++++++- .../Spans/ExecutePlanNodeSpan.cs | 7 +- ...ctivityExecutionDiagnosticListenerTests.cs | 2 +- ...tenerTests.AllScopes_IncludesAllSpans.snap | 4 - ...erTests.Allow_Document_To_Be_Captured.snap | 4 - ..._SecondExecution_RecordsCacheHitEvent.snap | 4 - ...erTests.Source_Schema_Transport_Error.snap | 58 +++++++--- ...Event_Records_Subscription_Event_Span.snap | 104 +++++++++--------- ...ents_Of_A_Query_With_Multiple_Sources.snap | 4 - ...ListenerTests.Http_Get_Single_Request.snap | 4 - ...p_Post_Add_Variables_To_Http_Activity.snap | 4 - ...istenerTests.Http_Post_Single_Request.snap | 4 - ...ests.Http_Post_Single_Request_Default.snap | 4 - ...Not_Automatically_Added_To_Activities.snap | 4 - ...erTests.Http_Post_With_Extensions_Map.snap | 4 - ...RequestDetails_All_IncludesAllDetails.snap | 4 - ...IncludesIdHashOperationNameExtensions.snap | 4 - ...ails_DocumentOnly_IncludesDocumentTag.snap | 4 - ...equestDetails_None_ExcludesAllDetails.snap | 4 - 54 files changed, 226 insertions(+), 243 deletions(-) diff --git a/src/HotChocolate/Diagnostics/src/Diagnostics.Core/Extensions/ActivityExtensions.cs b/src/HotChocolate/Diagnostics/src/Diagnostics.Core/Extensions/ActivityExtensions.cs index f2fd6cda96d..bef33707c34 100644 --- a/src/HotChocolate/Diagnostics/src/Diagnostics.Core/Extensions/ActivityExtensions.cs +++ b/src/HotChocolate/Diagnostics/src/Diagnostics.Core/Extensions/ActivityExtensions.cs @@ -47,7 +47,8 @@ public void AddException(Exception exception) public void AddGraphQLErrorEvent( IError error, string? operationType = null, - string? operationName = null) + string? operationName = null, + string? schemaCoordinate = null) { var tags = new ActivityTagsCollection { @@ -59,6 +60,11 @@ public void AddGraphQLErrorEvent( tags[SemanticConventions.GraphQL.Field.Path] = error.Path.Print(); } + if (!string.IsNullOrEmpty(schemaCoordinate)) + { + tags[SemanticConventions.GraphQL.Field.SchemaCoordinate] = schemaCoordinate; + } + if (!string.IsNullOrEmpty(error.Code)) { tags[SemanticConventions.GraphQL.Error.Code] = error.Code; @@ -100,6 +106,38 @@ public void AddGraphQLErrorEvent( activity.AddEvent(new ActivityEvent("graphql.error", default, tags)); } + public void AddGraphQLErrorEvent( + Exception exception, + string? schemaCoordinate = null, + string? operationType = null, + string? operationName = null) + { + var tags = new ActivityTagsCollection + { + [SemanticConventions.GraphQL.Error.Message] = exception.Message, + ["exception.type"] = exception.GetType().FullName, + ["exception.message"] = exception.Message, + ["exception.stacktrace"] = exception.ToString() + }; + + if (!string.IsNullOrEmpty(schemaCoordinate)) + { + tags[SemanticConventions.GraphQL.Field.SchemaCoordinate] = schemaCoordinate; + } + + if (!string.IsNullOrEmpty(operationType)) + { + tags[SemanticConventions.GraphQL.Operation.Type] = operationType; + } + + if (!string.IsNullOrEmpty(operationName)) + { + tags[SemanticConventions.GraphQL.Operation.Name] = operationName; + } + + activity.AddEvent(new ActivityEvent("graphql.error", default, tags)); + } + [MethodImpl(MethodImplOptions.AggressiveInlining)] public void SetErrorType(Exception exception) { diff --git a/src/HotChocolate/Diagnostics/src/Diagnostics.Core/SemanticConventions.cs b/src/HotChocolate/Diagnostics/src/Diagnostics.Core/SemanticConventions.cs index 4a0e7453328..856217d8649 100644 --- a/src/HotChocolate/Diagnostics/src/Diagnostics.Core/SemanticConventions.cs +++ b/src/HotChocolate/Diagnostics/src/Diagnostics.Core/SemanticConventions.cs @@ -90,7 +90,6 @@ public static class Field public const string Path = "graphql.field.path"; public const string Name = "graphql.field.name"; public const string ParentType = "graphql.field.parent_type"; - public const string Coordinate = "graphql.field.coordinate"; public const string SchemaCoordinate = "graphql.field.schema_coordinate"; } diff --git a/src/HotChocolate/Diagnostics/src/Diagnostics.Core/Spans/ExecuteRequestSpanBase.cs b/src/HotChocolate/Diagnostics/src/Diagnostics.Core/Spans/ExecuteRequestSpanBase.cs index 29147a8510f..933edadafdf 100644 --- a/src/HotChocolate/Diagnostics/src/Diagnostics.Core/Spans/ExecuteRequestSpanBase.cs +++ b/src/HotChocolate/Diagnostics/src/Diagnostics.Core/Spans/ExecuteRequestSpanBase.cs @@ -57,8 +57,10 @@ 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.Error.Count, result.Errors.Count); + if (result.Errors.Count > 0) + { + Activity.SetTag(GraphQL.Error.Count, result.Errors.Count); + } EmitErrorEvents(result.Errors, operationTypeValue, operationName); } diff --git a/src/HotChocolate/Diagnostics/src/Diagnostics/Listeners/ActivityExecutionDiagnosticListener.cs b/src/HotChocolate/Diagnostics/src/Diagnostics/Listeners/ActivityExecutionDiagnosticListener.cs index 0e46518c501..a83c8aef34d 100644 --- a/src/HotChocolate/Diagnostics/src/Diagnostics/Listeners/ActivityExecutionDiagnosticListener.cs +++ b/src/HotChocolate/Diagnostics/src/Diagnostics/Listeners/ActivityExecutionDiagnosticListener.cs @@ -267,7 +267,8 @@ public override void ResolverError(IMiddlewareContext context, IError error) error, operationType: SemanticConventions.GraphQL.Operation.TypeValues[ context.Operation.Definition.Operation], - operationName: context.Operation.Name); + operationName: context.Operation.Name, + schemaCoordinate: context.Selection.Field.Coordinate.ToString()); } } diff --git a/src/HotChocolate/Diagnostics/src/Diagnostics/Spans/ResolveFieldSpan.cs b/src/HotChocolate/Diagnostics/src/Diagnostics/Spans/ResolveFieldSpan.cs index 2c974f45f34..3bfec320f3d 100644 --- a/src/HotChocolate/Diagnostics/src/Diagnostics/Spans/ResolveFieldSpan.cs +++ b/src/HotChocolate/Diagnostics/src/Diagnostics/Spans/ResolveFieldSpan.cs @@ -29,7 +29,7 @@ internal sealed class ResolveFieldSpan( activity.SetTag(GraphQL.Field.Alias, selection.ResponseName); activity.SetTag(GraphQL.Field.Path, context.Path.Print()); activity.SetTag(GraphQL.Field.Name, coordinate.MemberName); - activity.SetTag(GraphQL.Field.Coordinate, activity.DisplayName); + activity.SetTag(GraphQL.Field.SchemaCoordinate, activity.DisplayName); activity.SetTag(GraphQL.Field.ParentType, coordinate.Name); return new ResolveFieldSpan(activity, context, enricher); 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 7f6711dc66c..0c917ed38ec 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 @@ -17,10 +17,6 @@ { "Key": "graphql.document.hash", "Value": "md5:f7e9989fbb67af7fa747a9983313c9e5" - }, - { - "Key": "graphql.error.count", - "Value": 0 } ], "event": [ @@ -129,7 +125,7 @@ "Value": "sayHello" }, { - "Key": "graphql.field.coordinate", + "Key": "graphql.field.schema_coordinate", "Value": "SimpleQuery.sayHello" }, { 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 1498b179ada..434adc4dcf4 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 @@ -25,10 +25,6 @@ { "Key": "graphql.document.body", "Value": "query SayHelloOperation {\n sayHello\n}" - }, - { - "Key": "graphql.error.count", - "Value": 0 } ], "event": [ @@ -145,7 +141,7 @@ "Value": "sayHello" }, { - "Key": "graphql.field.coordinate", + "Key": "graphql.field.schema_coordinate", "Value": "SimpleQuery.sayHello" }, { 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 f9dbae80957..a5843ae49e8 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 @@ -178,7 +178,7 @@ "Value": "causeFatalError" }, { - "Key": "graphql.field.coordinate", + "Key": "graphql.field.schema_coordinate", "Value": "SimpleQuery.causeFatalError" }, { 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 128f1ab645d..2bc385740f6 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 @@ -17,10 +17,6 @@ { "Key": "graphql.document.hash", "Value": "md5:f7e9989fbb67af7fa747a9983313c9e5" - }, - { - "Key": "graphql.error.count", - "Value": 0 } ], "event": [ @@ -150,7 +146,7 @@ "Value": "sayHello" }, { - "Key": "graphql.field.coordinate", + "Key": "graphql.field.schema_coordinate", "Value": "SimpleQuery.sayHello" }, { 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 a7c74e184b4..89279334494 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 @@ -17,10 +17,6 @@ { "Key": "graphql.document.hash", "Value": "md5:9b20745108c8de5afccc35cd56ead9fc" - }, - { - "Key": "graphql.error.count", - "Value": 0 } ], "event": [ @@ -129,7 +125,7 @@ "Value": "dataLoader" }, { - "Key": "graphql.field.coordinate", + "Key": "graphql.field.schema_coordinate", "Value": "SimpleQuery.dataLoader" }, { 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 76bc66fbad9..aa9036f1b32 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 @@ -17,10 +17,6 @@ { "Key": "graphql.document.hash", "Value": "md5:9b20745108c8de5afccc35cd56ead9fc" - }, - { - "Key": "graphql.error.count", - "Value": 0 } ], "event": [ @@ -129,7 +125,7 @@ "Value": "dataLoader" }, { - "Key": "graphql.field.coordinate", + "Key": "graphql.field.schema_coordinate", "Value": "SimpleQuery.dataLoader" }, { 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 e3ea30e0edd..9a847b6550e 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 @@ -61,7 +61,7 @@ "Value": "sayHello" }, { - "Key": "graphql.field.coordinate", + "Key": "graphql.field.schema_coordinate", "Value": "SimpleQuery.sayHello" }, { 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 014ab9113c5..c176dc90d73 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 @@ -17,10 +17,6 @@ { "Key": "graphql.document.hash", "Value": "md5:f7e9989fbb67af7fa747a9983313c9e5" - }, - { - "Key": "graphql.error.count", - "Value": 0 } ], "event": [ @@ -74,7 +70,7 @@ "Value": "sayHello" }, { - "Key": "graphql.field.coordinate", + "Key": "graphql.field.schema_coordinate", "Value": "SimpleQuery.sayHello" }, { diff --git a/src/HotChocolate/Diagnostics/test/Diagnostics.Tests/__snapshots__/ActivityExecutionDiagnosticListenerTests.GraphQLError_WithExtensionsCode_SetsErrorTypeFromCode.snap b/src/HotChocolate/Diagnostics/test/Diagnostics.Tests/__snapshots__/ActivityExecutionDiagnosticListenerTests.GraphQLError_WithExtensionsCode_SetsErrorTypeFromCode.snap index bc876edc4f9..c1ee2364516 100644 --- a/src/HotChocolate/Diagnostics/test/Diagnostics.Tests/__snapshots__/ActivityExecutionDiagnosticListenerTests.GraphQLError_WithExtensionsCode_SetsErrorTypeFromCode.snap +++ b/src/HotChocolate/Diagnostics/test/Diagnostics.Tests/__snapshots__/ActivityExecutionDiagnosticListenerTests.GraphQLError_WithExtensionsCode_SetsErrorTypeFromCode.snap @@ -158,7 +158,7 @@ "Value": "causeCodedError" }, { - "Key": "graphql.field.coordinate", + "Key": "graphql.field.schema_coordinate", "Value": "SimpleQuery.causeCodedError" }, { diff --git a/src/HotChocolate/Diagnostics/test/Diagnostics.Tests/__snapshots__/ActivityExecutionDiagnosticListenerTests.GraphQLError_WithoutExtensionsCode_FallsBackToExecutionError.snap b/src/HotChocolate/Diagnostics/test/Diagnostics.Tests/__snapshots__/ActivityExecutionDiagnosticListenerTests.GraphQLError_WithoutExtensionsCode_FallsBackToExecutionError.snap index 6f45c20b7da..ab8e95d578f 100644 --- a/src/HotChocolate/Diagnostics/test/Diagnostics.Tests/__snapshots__/ActivityExecutionDiagnosticListenerTests.GraphQLError_WithoutExtensionsCode_FallsBackToExecutionError.snap +++ b/src/HotChocolate/Diagnostics/test/Diagnostics.Tests/__snapshots__/ActivityExecutionDiagnosticListenerTests.GraphQLError_WithoutExtensionsCode_FallsBackToExecutionError.snap @@ -78,7 +78,7 @@ "Value": "causeUncodedError" }, { - "Key": "graphql.field.coordinate", + "Key": "graphql.field.schema_coordinate", "Value": "SimpleQuery.causeUncodedError" }, { 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 7d7d7fcc7f1..c72d135b9e6 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 @@ -69,7 +69,7 @@ "Value": "sayHello" }, { - "Key": "graphql.field.coordinate", + "Key": "graphql.field.schema_coordinate", "Value": "SimpleQuery.sayHello" }, { 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 2d6975ee03e..b74114cd832 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 @@ -162,7 +162,7 @@ "Value": "causeFatalError" }, { - "Key": "graphql.field.coordinate", + "Key": "graphql.field.schema_coordinate", "Value": "SimpleQuery.causeFatalError" }, { 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 264a08371ce..0f5ee4da9d4 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 @@ -162,7 +162,7 @@ "Value": "deep" }, { - "Key": "graphql.field.coordinate", + "Key": "graphql.field.schema_coordinate", "Value": "SimpleQuery.deep" }, { @@ -195,7 +195,7 @@ "Value": "causeFatalError" }, { - "Key": "graphql.field.coordinate", + "Key": "graphql.field.schema_coordinate", "Value": "Deep.causeFatalError" }, { diff --git a/src/HotChocolate/Diagnostics/test/Diagnostics.Tests/__snapshots__/ActivityExecutionDiagnosticListenerTests.ResolverException_OnNullableField_SetsErrorTypeToExceptionTypeName.snap b/src/HotChocolate/Diagnostics/test/Diagnostics.Tests/__snapshots__/ActivityExecutionDiagnosticListenerTests.ResolverException_OnNullableField_SetsErrorTypeToExceptionTypeName.snap index 6e7b5fe3854..0746a4148f2 100644 --- a/src/HotChocolate/Diagnostics/test/Diagnostics.Tests/__snapshots__/ActivityExecutionDiagnosticListenerTests.ResolverException_OnNullableField_SetsErrorTypeToExceptionTypeName.snap +++ b/src/HotChocolate/Diagnostics/test/Diagnostics.Tests/__snapshots__/ActivityExecutionDiagnosticListenerTests.ResolverException_OnNullableField_SetsErrorTypeToExceptionTypeName.snap @@ -166,7 +166,7 @@ "Value": "throwInvalidOperation" }, { - "Key": "graphql.field.coordinate", + "Key": "graphql.field.schema_coordinate", "Value": "SimpleQuery.throwInvalidOperation" }, { 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 05ef3c0b9ef..7c721e3a550 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 @@ -157,6 +157,10 @@ "Key": "graphql.field.path", "Value": "onFailingMessage" }, + { + "Key": "graphql.field.schema_coordinate", + "Value": "SimpleSubscription.onFailingMessage" + }, { "Key": "graphql.operation.type", "Value": "subscription" @@ -204,7 +208,7 @@ "Value": "onFailingMessage" }, { - "Key": "graphql.field.coordinate", + "Key": "graphql.field.schema_coordinate", "Value": "SimpleSubscription.onFailingMessage" }, { 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 6a2ba02b843..b3acc4454c6 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 @@ -166,7 +166,7 @@ "Value": "onMessage" }, { - "Key": "graphql.field.coordinate", + "Key": "graphql.field.schema_coordinate", "Value": "SimpleSubscription.onMessage" }, { 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 e3ea30e0edd..9a847b6550e 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 @@ -61,7 +61,7 @@ "Value": "sayHello" }, { - "Key": "graphql.field.coordinate", + "Key": "graphql.field.schema_coordinate", "Value": "SimpleQuery.sayHello" }, { 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 cf6f7b807f3..17a03218100 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 @@ -17,10 +17,6 @@ { "Key": "graphql.document.hash", "Value": "md5:c46cf8c9811934ddea095f10ee722dc4" - }, - { - "Key": "graphql.error.count", - "Value": 0 } ], "event": [ @@ -150,7 +146,7 @@ "Value": "greeting" }, { - "Key": "graphql.field.coordinate", + "Key": "graphql.field.schema_coordinate", "Value": "SimpleQuery.greeting" }, { 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 fdcc78e3abb..98d79919e82 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 @@ -50,10 +50,6 @@ { "Key": "graphql.document.hash", "Value": "md5:acb8d5d513c260b3cef3e3a12b0e29af" - }, - { - "Key": "graphql.error.count", - "Value": 0 } ], "event": [ @@ -170,7 +166,7 @@ "Value": "hero" }, { - "Key": "graphql.field.coordinate", + "Key": "graphql.field.schema_coordinate", "Value": "Query.hero" }, { 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 954f749c31b..f86bc355edb 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 @@ -58,10 +58,6 @@ { "Key": "graphql.document.hash", "Value": "md5:cc68dfd8c0c54a586a03c35296c5d1f9" - }, - { - "Key": "graphql.error.count", - "Value": 0 } ], "event": [ @@ -199,7 +195,7 @@ "Value": "hero" }, { - "Key": "graphql.field.coordinate", + "Key": "graphql.field.schema_coordinate", "Value": "Query.hero" }, { 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 56e74c56a0f..73c2c27652b 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 @@ -170,7 +170,7 @@ "Value": "hero" }, { - "Key": "graphql.field.coordinate", + "Key": "graphql.field.schema_coordinate", "Value": "Query.hero" }, { @@ -203,7 +203,7 @@ "Value": "id" }, { - "Key": "graphql.field.coordinate", + "Key": "graphql.field.schema_coordinate", "Value": "Droid.id" }, { 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 43a3e6ec947..12da5ad6cec 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 @@ -54,10 +54,6 @@ { "Key": "graphql.document.hash", "Value": "md5:668e9631148921208d08dbb69513fa8e" - }, - { - "Key": "graphql.error.count", - "Value": 0 } ], "event": [ @@ -174,7 +170,7 @@ "Value": "hero" }, { - "Key": "graphql.field.coordinate", + "Key": "graphql.field.schema_coordinate", "Value": "Query.hero" }, { @@ -207,7 +203,7 @@ "Value": "friends" }, { - "Key": "graphql.field.coordinate", + "Key": "graphql.field.schema_coordinate", "Value": "Droid.friends" }, { @@ -240,7 +236,7 @@ "Value": "friends" }, { - "Key": "graphql.field.coordinate", + "Key": "graphql.field.schema_coordinate", "Value": "Human.friends" }, { @@ -273,7 +269,7 @@ "Value": "friends" }, { - "Key": "graphql.field.coordinate", + "Key": "graphql.field.schema_coordinate", "Value": "Human.friends" }, { @@ -306,7 +302,7 @@ "Value": "friends" }, { - "Key": "graphql.field.coordinate", + "Key": "graphql.field.schema_coordinate", "Value": "Human.friends" }, { 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 e01658a6fc4..62fb17f216f 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 @@ -54,10 +54,6 @@ { "Key": "graphql.document.hash", "Value": "md5:acb8d5d513c260b3cef3e3a12b0e29af" - }, - { - "Key": "graphql.error.count", - "Value": 0 } ], "event": [ @@ -174,7 +170,7 @@ "Value": "hero" }, { - "Key": "graphql.field.coordinate", + "Key": "graphql.field.schema_coordinate", "Value": "Query.hero" }, { 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 b1640c6d4eb..e8a7ccb6426 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 @@ -37,10 +37,6 @@ { "Key": "graphql.document.hash", "Value": "md5:acb8d5d513c260b3cef3e3a12b0e29af" - }, - { - "Key": "graphql.error.count", - "Value": 0 } ], "event": [ @@ -123,7 +119,7 @@ "Value": "hero" }, { - "Key": "graphql.field.coordinate", + "Key": "graphql.field.schema_coordinate", "Value": "Query.hero" }, { 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 9bccaa062b8..dc23408f713 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 @@ -54,10 +54,6 @@ { "Key": "graphql.document.hash", "Value": "md5:cc68dfd8c0c54a586a03c35296c5d1f9" - }, - { - "Key": "graphql.error.count", - "Value": 0 } ], "event": [ @@ -195,7 +191,7 @@ "Value": "hero" }, { - "Key": "graphql.field.coordinate", + "Key": "graphql.field.schema_coordinate", "Value": "Query.hero" }, { 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 bebb37e1990..02c3628f452 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 @@ -58,10 +58,6 @@ { "Key": "graphql.document.hash", "Value": "md5:cc68dfd8c0c54a586a03c35296c5d1f9" - }, - { - "Key": "graphql.error.count", - "Value": 0 } ], "event": [ @@ -199,7 +195,7 @@ "Value": "hero" }, { - "Key": "graphql.field.coordinate", + "Key": "graphql.field.schema_coordinate", "Value": "Query.hero" }, { 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 f05167ace7f..c872fb83791 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 @@ -70,10 +70,6 @@ { "Key": "graphql.document.hash", "Value": "md5:9335388c19fd2e230b6294a596d13a93" - }, - { - "Key": "graphql.error.count", - "Value": 0 } ], "event": [ @@ -223,7 +219,7 @@ "Value": "hero" }, { - "Key": "graphql.field.coordinate", + "Key": "graphql.field.schema_coordinate", "Value": "Query.hero" }, { 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 9c447829162..91b58e9f60f 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 @@ -62,10 +62,6 @@ { "Key": "graphql.document.hash", "Value": "md5:06731ff10fea3ec8e9b2aabceee6ddd9" - }, - { - "Key": "graphql.error.count", - "Value": 0 } ], "event": [ @@ -190,7 +186,7 @@ "Value": "hero" }, { - "Key": "graphql.field.coordinate", + "Key": "graphql.field.schema_coordinate", "Value": "Query.hero" }, { 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 b1038e96b11..c477bcff620 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 @@ -50,10 +50,6 @@ { "Key": "graphql.document.hash", "Value": "md5:acb8d5d513c260b3cef3e3a12b0e29af" - }, - { - "Key": "graphql.error.count", - "Value": 0 } ], "event": [ @@ -170,7 +166,7 @@ "Value": "hero" }, { - "Key": "graphql.field.coordinate", + "Key": "graphql.field.schema_coordinate", "Value": "Query.hero" }, { 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 0e24a4a075b..12992b6c7c5 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 @@ -46,10 +46,6 @@ { "Key": "graphql.document.hash", "Value": "md5:9335388c19fd2e230b6294a596d13a93" - }, - { - "Key": "graphql.error.count", - "Value": 0 } ], "event": [ @@ -199,7 +195,7 @@ "Value": "hero" }, { - "Key": "graphql.field.coordinate", + "Key": "graphql.field.schema_coordinate", "Value": "Query.hero" }, { diff --git a/src/HotChocolate/Fusion/src/Fusion.Diagnostics/Listeners/FusionActivityExecutionDiagnosticEventListener.cs b/src/HotChocolate/Fusion/src/Fusion.Diagnostics/Listeners/FusionActivityExecutionDiagnosticEventListener.cs index ed20640b35c..277ba122784 100644 --- a/src/HotChocolate/Fusion/src/Fusion.Diagnostics/Listeners/FusionActivityExecutionDiagnosticEventListener.cs +++ b/src/HotChocolate/Fusion/src/Fusion.Diagnostics/Listeners/FusionActivityExecutionDiagnosticEventListener.cs @@ -1,4 +1,5 @@ using System.Diagnostics; +using System.Runtime.CompilerServices; using HotChocolate.Diagnostics; using HotChocolate.Execution; using HotChocolate.Fusion.Execution; @@ -176,7 +177,14 @@ public override IDisposable ExecuteOperation(RequestContext context) plan.OperationName, enricher); - return span ?? EmptyScope; + if (span is null) + { + return EmptyScope; + } + + context.Features.Set(span); + + return span; } public override IDisposable ExecuteOperationNode( @@ -198,10 +206,15 @@ public override IDisposable ExecuteSubscriptionNode( ulong subscriptionId) { var nodeScope = ExecuteNode(context, node, schemaName); + + var subscriptionContext = context.RequestContext.Features.TryGet(out var requestSpan) + ? requestSpan.Activity.Context + : Activity.Current?.Context; + context.RequestContext.Features.Set( new SubscriptionContextFeature { - SubscriptionContext = Activity.Current?.Context + SubscriptionContext = subscriptionContext }); return nodeScope; @@ -225,7 +238,10 @@ public override void ExecutionNodeError( if (Activity.Current is { } activity) { activity.SetStatus(ActivityStatusCode.Error); - activity.AddException(error); + activity.AddGraphQLErrorEvent( + error, + operationType: GetOperationType(context), + operationName: context.OperationPlan.Operation.Name); activity.SetErrorType(error); enricher.EnrichExecutionNodeError(context, node, error, activity); @@ -241,7 +257,10 @@ public override void SourceSchemaTransportError( if (Activity.Current is { } activity) { activity.SetStatus(ActivityStatusCode.Error); - activity.AddException(error); + activity.AddGraphQLErrorEvent( + error, + operationType: GetOperationType(context), + operationName: context.OperationPlan.Operation.Name); activity.SetErrorType(error); enricher.EnrichSourceSchemaTransportError(context, node, schemaName, error, activity); @@ -257,7 +276,10 @@ public override void SourceSchemaStoreError( if (Activity.Current is { } activity) { activity.SetStatus(ActivityStatusCode.Error); - activity.AddException(error); + activity.AddGraphQLErrorEvent( + error, + operationType: GetOperationType(context), + operationName: context.OperationPlan.Operation.Name); activity.SetErrorType(error); enricher.EnrichSourceSchemaStoreError(context, node, schemaName, error, activity); @@ -305,7 +327,10 @@ public override void SubscriptionEventError( if (Activity.Current is { } activity) { activity.SetStatus(ActivityStatusCode.Error); - activity.AddException(exception); + activity.AddGraphQLErrorEvent( + exception, + operationType: GetOperationType(context), + operationName: context.OperationPlan.Operation.Name); activity.SetErrorType(exception); enricher.EnrichSubscriptionEventError( @@ -386,4 +411,9 @@ private IDisposable ExecuteNode(OperationPlanContext context, ExecutionNode node return span ?? EmptyScope; } + + [MethodImpl(MethodImplOptions.AggressiveInlining)] + private static string GetOperationType(OperationPlanContext context) + => SemanticConventions.GraphQL.Operation.TypeValues[ + context.OperationPlan.Operation.Definition.Operation]; } diff --git a/src/HotChocolate/Fusion/src/Fusion.Diagnostics/Spans/ExecutePlanNodeSpan.cs b/src/HotChocolate/Fusion/src/Fusion.Diagnostics/Spans/ExecutePlanNodeSpan.cs index 2f123b0303d..2b79220fd56 100644 --- a/src/HotChocolate/Fusion/src/Fusion.Diagnostics/Spans/ExecutePlanNodeSpan.cs +++ b/src/HotChocolate/Fusion/src/Fusion.Diagnostics/Spans/ExecutePlanNodeSpan.cs @@ -31,7 +31,12 @@ internal sealed class ExecutePlanNodeSpan( string? schemaName, FusionActivityEnricher enricher) { - var activity = source.StartActivity("GraphQL Step Execution"); + var activity = context.RequestContext.Features.TryGet(out var executeOperationSpan) + ? source.StartActivity( + "GraphQL Step Execution", + ActivityKind.Internal, + executeOperationSpan.Activity.Context) + : source.StartActivity("GraphQL Step Execution"); if (activity is null) { diff --git a/src/HotChocolate/Fusion/test/Fusion.Diagnostics.Tests/FusionActivityExecutionDiagnosticListenerTests.cs b/src/HotChocolate/Fusion/test/Fusion.Diagnostics.Tests/FusionActivityExecutionDiagnosticListenerTests.cs index e1e4651f440..86ebac0ef79 100644 --- a/src/HotChocolate/Fusion/test/Fusion.Diagnostics.Tests/FusionActivityExecutionDiagnosticListenerTests.cs +++ b/src/HotChocolate/Fusion/test/Fusion.Diagnostics.Tests/FusionActivityExecutionDiagnosticListenerTests.cs @@ -168,7 +168,7 @@ public async Task Source_Schema_Transport_Error() var executor = await gateway.Services.GetRequestExecutorAsync(); var request = OperationRequestBuilder.New() - .SetDocument("{ sayHello }") + .SetDocument("query SayHelloQuery { sayHello }") .Build(); // act 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 e563ab1d24d..dd45a0a0b07 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 @@ -17,10 +17,6 @@ { "Key": "graphql.document.hash", "Value": "md5:f7e9989fbb67af7fa747a9983313c9e5" - }, - { - "Key": "graphql.error.count", - "Value": 0 } ], "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 de61c107b7e..c4aaa4cf3ef 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 @@ -25,10 +25,6 @@ { "Key": "graphql.document.body", "Value": "query SayHelloOperation {\n sayHello\n}" - }, - { - "Key": "graphql.error.count", - "Value": 0 } ], "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 e280e84c286..90cb9f09d41 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 @@ -17,10 +17,6 @@ { "Key": "graphql.document.hash", "Value": "md5:f7e9989fbb67af7fa747a9983313c9e5" - }, - { - "Key": "graphql.error.count", - "Value": 0 } ], "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 90f742b92fe..998a24d919a 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 @@ -14,13 +14,17 @@ "Key": "graphql.operation.type", "Value": "query" }, + { + "Key": "graphql.operation.name", + "Value": "SayHelloQuery" + }, { "Key": "graphql.document.hash", - "Value": "md5:f7e9989fbb67af7fa747a9983313c9e5" + "Value": "md5:b3cf9afa2200bfa14e2a67e36d17e933" }, { "Key": "graphql.document.body", - "Value": "{\n sayHello\n}" + "Value": "query SayHelloQuery {\n sayHello\n}" }, { "Key": "graphql.error.count", @@ -55,6 +59,10 @@ "Key": "graphql.operation.type", "Value": "query" }, + { + "Key": "graphql.operation.name", + "Value": "SayHelloQuery" + }, { "Key": "exception.type", "Value": "System.Net.Http.HttpRequestException" @@ -79,7 +87,7 @@ "tags": [ { "Key": "graphql.document.hash", - "Value": "md5:f7e9989fbb67af7fa747a9983313c9e5" + "Value": "md5:b3cf9afa2200bfa14e2a67e36d17e933" } ], "event": [] @@ -96,7 +104,7 @@ }, { "Key": "graphql.document.hash", - "Value": "md5:f7e9989fbb67af7fa747a9983313c9e5" + "Value": "md5:b3cf9afa2200bfa14e2a67e36d17e933" } ], "event": [] @@ -113,11 +121,15 @@ }, { "Key": "graphql.document.hash", - "Value": "md5:f7e9989fbb67af7fa747a9983313c9e5" + "Value": "md5:b3cf9afa2200bfa14e2a67e36d17e933" }, { "Key": "graphql.operation.type", "Value": "query" + }, + { + "Key": "graphql.operation.name", + "Value": "SayHelloQuery" } ], "event": [] @@ -136,9 +148,13 @@ "Key": "graphql.operation.type", "Value": "query" }, + { + "Key": "graphql.operation.name", + "Value": "SayHelloQuery" + }, { "Key": "graphql.document.hash", - "Value": "md5:f7e9989fbb67af7fa747a9983313c9e5" + "Value": "md5:b3cf9afa2200bfa14e2a67e36d17e933" }, { "Key": "error.type", @@ -161,9 +177,13 @@ "Key": "graphql.operation.type", "Value": "query" }, + { + "Key": "graphql.operation.name", + "Value": "SayHelloQuery" + }, { "Key": "graphql.document.hash", - "Value": "md5:f7e9989fbb67af7fa747a9983313c9e5" + "Value": "md5:b3cf9afa2200bfa14e2a67e36d17e933" }, { "Key": "graphql.operation.step.id", @@ -175,7 +195,7 @@ }, { "Key": "graphql.operation.step.plan.id", - "Value": "f6d09983b9640d3dc20ac4774cc4e3cc75407a02d5135467b9ba3ec3d0fa7fbb" + "Value": "28c3e8f816706daf288091936d3937e2b3e7e7eb19b3cb8dc3b506c202b5aa67" }, { "Key": "graphql.source_schema.name", @@ -183,11 +203,11 @@ }, { "Key": "graphql.source_schema.operation.name", - "Value": "Op_f7e9989f_1" + "Value": "SayHelloQuery_b3cf9afa_1" }, { "Key": "graphql.source_schema.operation.hash", - "Value": "sha256:35c1feb1208268226c7d5d5d0ae122e4d38cb79621e862b1e252d37fc83c530a" + "Value": "sha256:4ccd60434973fb8605a668347b5f8707d89fd9caeb1ff20d8f3e4f21476e8d81" }, { "Key": "error.type", @@ -196,8 +216,16 @@ ], "event": [ { - "Name": "exception", + "Name": "graphql.error", "Tags": [ + { + "Key": "graphql.error.message", + "Value": "Response status code does not indicate success: 500 (Internal Server Error)." + }, + { + "Key": "exception.type", + "Value": "System.Net.Http.HttpRequestException" + }, { "Key": "exception.message", "Value": "Response status code does not indicate success: 500 (Internal Server Error)." @@ -207,8 +235,12 @@ "Value": "System.Net.Http.HttpRequestException: Response status code does not indicate success: 500 (Internal Server Error).\n at System.Net.Http.HttpResponseMessage.EnsureSuccessStatusCode()\n at HotChocolate.Fusion.Transport.Http.GraphQLHttpResponse.ReadAsResultAsync(CancellationToken cancellationToken) in GraphQLHttpResponse.cs\n at HotChocolate.Fusion.Execution.Clients.HttpSourceSchemaClient.Response.ReadAsResultStreamCoreAsync(CancellationToken cancellationToken)+MoveNext() in HttpSourceSchemaClient.cs\n at HotChocolate.Fusion.Execution.Clients.HttpSourceSchemaClient.Response.ReadAsResultStreamCoreAsync(CancellationToken cancellationToken)+System.Threading.Tasks.Sources.IValueTaskSource.GetResult()\n at HotChocolate.Fusion.Execution.Clients.HttpSourceSchemaClient.Response.WithResultCallback(IAsyncEnumerable`1 results, OperationPlanContext context, ExecutionNode node, Action`3 onSourceSchemaResult, CancellationToken cancellationToken)+MoveNext() in HttpSourceSchemaClient.cs\n at HotChocolate.Fusion.Execution.Clients.HttpSourceSchemaClient.Response.WithResultCallback(IAsyncEnumerable`1 results, OperationPlanContext context, ExecutionNode node, Action`3 onSourceSchemaResult, CancellationToken cancellationToken)+MoveNext() in HttpSourceSchemaClient.cs\n at HotChocolate.Fusion.Execution.Clients.HttpSourceSchemaClient.Response.WithResultCallback(IAsyncEnumerable`1 results, OperationPlanContext context, ExecutionNode node, Action`3 onSourceSchemaResult, CancellationToken cancellationToken)+System.Threading.Tasks.Sources.IValueTaskSource.GetResult()\n at HotChocolate.Fusion.Execution.Nodes.OperationExecutionNode.OnExecuteAsync(OperationPlanContext context, CancellationToken cancellationToken) in OperationExecutionNode.cs\n at HotChocolate.Fusion.Execution.Nodes.OperationExecutionNode.OnExecuteAsync(OperationPlanContext context, CancellationToken cancellationToken) in OperationExecutionNode.cs" }, { - "Key": "exception.type", - "Value": "System.Net.Http.HttpRequestException" + "Key": "graphql.operation.type", + "Value": "query" + }, + { + "Key": "graphql.operation.name", + "Value": "SayHelloQuery" } ] } 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 a999745b3f8..eb9fc70e01a 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 @@ -112,59 +112,59 @@ "Value": "md5:ef859b98c9d8c17038c8fd9aeecdb1e2" } ], - "event": [] - } - ] - }, - { - "OperationName": "GraphQL Step Execution", - "DisplayName": "GraphQL Step Execution", - "Kind": "Internal", - "Status": "Ok", - "tags": [ - { - "Key": "graphql.processing.type", - "Value": "step_execute" - }, - { - "Key": "graphql.operation.type", - "Value": "subscription" - }, - { - "Key": "graphql.operation.name", - "Value": "OnMessageSubscription" - }, - { - "Key": "graphql.document.hash", - "Value": "md5:ef859b98c9d8c17038c8fd9aeecdb1e2" - }, - { - "Key": "graphql.operation.step.id", - "Value": "1" - }, - { - "Key": "graphql.operation.step.kind", - "Value": "operation" - }, - { - "Key": "graphql.operation.step.plan.id", - "Value": "99ac66222461a285be3d03f60e60dd5cb63990ed42e28cc8e7f1dacc35ed429a" - }, - { - "Key": "graphql.source_schema.name", - "Value": "a" - }, - { - "Key": "graphql.source_schema.operation.name", - "Value": "OnMessageSubscription_ef859b98_1" + "event": [], + "activities": [ + { + "OperationName": "GraphQL Step Execution", + "DisplayName": "GraphQL Step Execution", + "Kind": "Internal", + "Status": "Ok", + "tags": [ + { + "Key": "graphql.processing.type", + "Value": "step_execute" + }, + { + "Key": "graphql.operation.type", + "Value": "subscription" + }, + { + "Key": "graphql.operation.name", + "Value": "OnMessageSubscription" + }, + { + "Key": "graphql.document.hash", + "Value": "md5:ef859b98c9d8c17038c8fd9aeecdb1e2" + }, + { + "Key": "graphql.operation.step.id", + "Value": "1" + }, + { + "Key": "graphql.operation.step.kind", + "Value": "operation" + }, + { + "Key": "graphql.operation.step.plan.id", + "Value": "99ac66222461a285be3d03f60e60dd5cb63990ed42e28cc8e7f1dacc35ed429a" + }, + { + "Key": "graphql.source_schema.name", + "Value": "a" + }, + { + "Key": "graphql.source_schema.operation.name", + "Value": "OnMessageSubscription_ef859b98_1" + }, + { + "Key": "graphql.source_schema.operation.hash", + "Value": "sha256:f9abddbb651ad8e118793eb7c4a7c8db7fe43cae95faba710a0ff35b26b17136" + } + ], + "event": [] + } + ] }, - { - "Key": "graphql.source_schema.operation.hash", - "Value": "sha256:f9abddbb651ad8e118793eb7c4a7c8db7fe43cae95faba710a0ff35b26b17136" - } - ], - "event": [], - "activities": [ { "OperationName": "GraphQL Subscription Event", "DisplayName": "GraphQL Subscription Event", 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 62350954c85..e90c0c6c132 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 @@ -17,10 +17,6 @@ { "Key": "graphql.document.hash", "Value": "md5:073bf7696c078e52587c88890ef21bbe" - }, - { - "Key": "graphql.error.count", - "Value": 0 } ], "event": [ 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 c84bbb6cdb2..d0ceed49810 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 @@ -50,10 +50,6 @@ { "Key": "graphql.document.hash", "Value": "md5:f7e9989fbb67af7fa747a9983313c9e5" - }, - { - "Key": "graphql.error.count", - "Value": 0 } ], "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 d401949cbab..a63c51460fd 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 @@ -58,10 +58,6 @@ { "Key": "graphql.document.hash", "Value": "md5:c46cf8c9811934ddea095f10ee722dc4" - }, - { - "Key": "graphql.error.count", - "Value": 0 } ], "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 a427398c1d5..13ab6b989e0 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 @@ -54,10 +54,6 @@ { "Key": "graphql.document.hash", "Value": "md5:f7e9989fbb67af7fa747a9983313c9e5" - }, - { - "Key": "graphql.error.count", - "Value": 0 } ], "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 5bff16dfe28..f81e4edcca5 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 @@ -37,10 +37,6 @@ { "Key": "graphql.document.hash", "Value": "md5:f7e9989fbb67af7fa747a9983313c9e5" - }, - { - "Key": "graphql.error.count", - "Value": 0 } ], "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 58d9a15a1bd..cb4e5ceece4 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 @@ -54,10 +54,6 @@ { "Key": "graphql.document.hash", "Value": "md5:c46cf8c9811934ddea095f10ee722dc4" - }, - { - "Key": "graphql.error.count", - "Value": 0 } ], "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 657ceb8cc6c..866d095ca33 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 @@ -58,10 +58,6 @@ { "Key": "graphql.document.hash", "Value": "md5:c46cf8c9811934ddea095f10ee722dc4" - }, - { - "Key": "graphql.error.count", - "Value": 0 } ], "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 434fc3e1c5b..1887bc935c5 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 @@ -70,10 +70,6 @@ { "Key": "graphql.document.hash", "Value": "md5:111e40f921c6c6a35bc7eb0e3873630e" - }, - { - "Key": "graphql.error.count", - "Value": 0 } ], "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 df034cbed72..542cb1fa862 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 @@ -62,10 +62,6 @@ { "Key": "graphql.document.hash", "Value": "md5:cf203f646caf64f424638bd2f09e490a" - }, - { - "Key": "graphql.error.count", - "Value": 0 } ], "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 6780855fa0c..b3f42800613 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 @@ -50,10 +50,6 @@ { "Key": "graphql.document.hash", "Value": "md5:f7e9989fbb67af7fa747a9983313c9e5" - }, - { - "Key": "graphql.error.count", - "Value": 0 } ], "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 4a6fd75023b..8808d613d51 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 @@ -46,10 +46,6 @@ { "Key": "graphql.document.hash", "Value": "md5:111e40f921c6c6a35bc7eb0e3873630e" - }, - { - "Key": "graphql.error.count", - "Value": 0 } ], "event": [ From da1807fb31dc515aded761fe03c24ded28c63634 Mon Sep 17 00:00:00 2001 From: tobias-tengler <45513122+tobias-tengler@users.noreply.github.com> Date: Sat, 2 May 2026 22:14:25 +0200 Subject: [PATCH 2/3] Cleanup --- ...ctivityExecutionDiagnosticEventListener.cs | 31 +++---------------- 1 file changed, 4 insertions(+), 27 deletions(-) diff --git a/src/HotChocolate/Fusion/src/Fusion.Diagnostics/Listeners/FusionActivityExecutionDiagnosticEventListener.cs b/src/HotChocolate/Fusion/src/Fusion.Diagnostics/Listeners/FusionActivityExecutionDiagnosticEventListener.cs index 277ba122784..d1ac010fbf9 100644 --- a/src/HotChocolate/Fusion/src/Fusion.Diagnostics/Listeners/FusionActivityExecutionDiagnosticEventListener.cs +++ b/src/HotChocolate/Fusion/src/Fusion.Diagnostics/Listeners/FusionActivityExecutionDiagnosticEventListener.cs @@ -204,21 +204,7 @@ public override IDisposable ExecuteSubscriptionNode( ExecutionNode node, string schemaName, ulong subscriptionId) - { - var nodeScope = ExecuteNode(context, node, schemaName); - - var subscriptionContext = context.RequestContext.Features.TryGet(out var requestSpan) - ? requestSpan.Activity.Context - : Activity.Current?.Context; - - context.RequestContext.Features.Set( - new SubscriptionContextFeature - { - SubscriptionContext = subscriptionContext - }); - - return nodeScope; - } + => ExecuteNode(context, node, schemaName); public override IDisposable ExecuteNodeFieldNode( OperationPlanContext context, @@ -292,13 +278,9 @@ public override IDisposable OnSubscriptionEvent( string schemaName, ulong subscriptionId) { - ActivityContext? subscriptionContext = null; - - if (context.RequestContext.Features.TryGet(out var feature) - && feature.SubscriptionContext is { } storedSubscriptionContext) - { - subscriptionContext = storedSubscriptionContext; - } + var subscriptionContext = context.RequestContext.Features.TryGet(out var requestSpan) + ? requestSpan.Activity.Context + : (ActivityContext?)null; var span = SubscriptionEventSpan.Start( Source, @@ -395,11 +377,6 @@ public override void AddedOperationPlanToCache(RequestContext context, string op } } - private sealed class SubscriptionContextFeature - { - public ActivityContext? SubscriptionContext { get; set; } - } - private IDisposable ExecuteNode(OperationPlanContext context, ExecutionNode node, string? schemaName) { if (options.SkipExecutePlanNodes) From b57d0cdb08e969f70dbcc92eb87f45e8a0f3d5be Mon Sep 17 00:00:00 2001 From: tobias-tengler <45513122+tobias-tengler@users.noreply.github.com> Date: Sat, 2 May 2026 22:33:13 +0200 Subject: [PATCH 3/3] Cleanup --- .../src/Diagnostics.Core/Extensions/ActivityExtensions.cs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/HotChocolate/Diagnostics/src/Diagnostics.Core/Extensions/ActivityExtensions.cs b/src/HotChocolate/Diagnostics/src/Diagnostics.Core/Extensions/ActivityExtensions.cs index bef33707c34..d4ba3fd597f 100644 --- a/src/HotChocolate/Diagnostics/src/Diagnostics.Core/Extensions/ActivityExtensions.cs +++ b/src/HotChocolate/Diagnostics/src/Diagnostics.Core/Extensions/ActivityExtensions.cs @@ -108,9 +108,9 @@ public void AddGraphQLErrorEvent( public void AddGraphQLErrorEvent( Exception exception, - string? schemaCoordinate = null, string? operationType = null, - string? operationName = null) + string? operationName = null, + string? schemaCoordinate = null) { var tags = new ActivityTagsCollection {