diff --git a/CHANGELOG.md b/CHANGELOG.md index f07a46799d..3a9c24eca2 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,11 @@ # Changelog +## Unreleased + +### Fixes + +- Align span spec for serialize ops ([#1024](https://github.com/getsentry/sentry-dart/pull/1024)) + ## 6.11.0 ### Fixes diff --git a/dio/lib/src/sentry_transformer.dart b/dio/lib/src/sentry_transformer.dart index b886305477..ae77084405 100644 --- a/dio/lib/src/sentry_transformer.dart +++ b/dio/lib/src/sentry_transformer.dart @@ -3,6 +3,8 @@ import 'package:sentry/sentry.dart'; /// A transformer which wraps transforming in spans class SentryTransformer implements Transformer { + static const _serializeOp = 'serialize.http.client'; + // ignore: public_member_api_docs SentryTransformer({required Transformer transformer, Hub? hub}) : _hub = hub ?? HubAdapter(), @@ -14,7 +16,7 @@ class SentryTransformer implements Transformer { @override Future transformRequest(RequestOptions options) async { final span = _hub.getSpan()?.startChild( - 'serialize', + _serializeOp, description: '${options.method} ${options.uri}', ); String? request; @@ -38,7 +40,7 @@ class SentryTransformer implements Transformer { ResponseBody response, ) async { final span = _hub.getSpan()?.startChild( - 'serialize', + _serializeOp, description: '${options.method} ${options.uri}', ); dynamic transformedResponse; diff --git a/dio/test/sentry_transformer_test.dart b/dio/test/sentry_transformer_test.dart index 554933159c..3e6a8c36e4 100644 --- a/dio/test/sentry_transformer_test.dart +++ b/dio/test/sentry_transformer_test.dart @@ -34,7 +34,7 @@ void main() { final span = tracer.children.first; expect(span.status, SpanStatus.ok()); - expect(span.context.operation, 'serialize'); + expect(span.context.operation, 'serialize.http.client'); expect(span.context.description, 'GET foo'); }); @@ -56,7 +56,7 @@ void main() { final span = tracer.children.first; expect(span.status, SpanStatus.internalError()); - expect(span.context.operation, 'serialize'); + expect(span.context.operation, 'serialize.http.client'); expect(span.context.description, 'GET foo'); expect(span.finished, true); }); @@ -80,7 +80,7 @@ void main() { final span = tracer.children.first; expect(span.status, SpanStatus.ok()); - expect(span.context.operation, 'serialize'); + expect(span.context.operation, 'serialize.http.client'); expect(span.context.description, 'GET foo'); }); test('transformResponse finish span if errored request', () async { @@ -104,7 +104,7 @@ void main() { final span = tracer.children.first; expect(span.status, SpanStatus.internalError()); - expect(span.context.operation, 'serialize'); + expect(span.context.operation, 'serialize.http.client'); expect(span.context.description, 'GET foo'); expect(span.finished, true); }); diff --git a/flutter/lib/src/sentry_asset_bundle.dart b/flutter/lib/src/sentry_asset_bundle.dart index c17ed96ba9..fd1e62c595 100644 --- a/flutter/lib/src/sentry_asset_bundle.dart +++ b/flutter/lib/src/sentry_asset_bundle.dart @@ -234,7 +234,7 @@ class SentryAssetBundle implements AssetBundle { ISentrySpan? outerSpan, ) async { final span = outerSpan?.startChild( - 'serialize', + 'serialize.file.read', description: 'parsing "$key" to "$T"', ); T data; diff --git a/flutter/test/sentry_asset_bundle_test.dart b/flutter/test/sentry_asset_bundle_test.dart index 35f46aba9c..281e3ebce3 100644 --- a/flutter/test/sentry_asset_bundle_test.dart +++ b/flutter/test/sentry_asset_bundle_test.dart @@ -283,7 +283,7 @@ void main() { expect(span.status, SpanStatus.internalError()); expect(span.finished, true); expect(span.throwable, isA()); - expect(span.context.operation, 'serialize'); + expect(span.context.operation, 'serialize.file.read'); expect( span.context.description, 'parsing "resources/test.txt" to "String"', @@ -325,7 +325,7 @@ void main() { expect(span.status, SpanStatus.ok()); expect(span.finished, true); - expect(span.context.operation, 'serialize'); + expect(span.context.operation, 'serialize.file.read'); expect( span.context.description, 'parsing "resources/test.txt" to "String"',