internal static Activity CreateActivityFromExecuteAsync(IExecutionContext executionContext) { var settings = Instrumentation.TracerSettings; if (!settings.IsIntegrationEnabled(IntegrationId)) { // integration disabled, don't create a scope, skip this trace return(null); } Activity activity = null; try { string source = executionContext.Document.OriginalQuery; string operationName = executionContext.Operation.Name; string operationType = executionContext.Operation.OperationType.ToString(); var tags = new GraphQLTags(); activity = ActivitySource.StartActivityWithTags(ExecuteOperationName, tags); activity.SetResourceName($"{operationType} {operationName ?? "operation"}"); tags.Source = source; tags.OperationName = operationName; tags.OperationType = operationType; } catch (Exception ex) { Log.Error(ex, "Error creating or populating scope."); } return(activity); }
internal static Activity CreateActivityFromValidate(IDocument document) { var settings = Instrumentation.TracerSettings; if (!settings.IsIntegrationEnabled(IntegrationId)) { // integration disabled, don't create a scope, skip this trace return(null); } Activity activity = null; try { var tags = new GraphQLTags(); activity = ActivitySource.StartActivityWithTags(ValidateOperationName, tags); tags.Source = document.OriginalQuery; } catch (Exception ex) { Log.Error(ex, "Error creating or populating scope."); } return(activity); }