From 17abd978872f60c06eb6be9c42e37b6317a4f7c6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Denis=20Andra=C5=A1ec?= Date: Tue, 11 Jan 2022 11:07:19 +0100 Subject: [PATCH 1/2] support non-string data in tracer --- dart/lib/src/sentry_tracer.dart | 6 +++--- dart/test/sentry_tracer_test.dart | 12 ++++++++++++ 2 files changed, 15 insertions(+), 3 deletions(-) diff --git a/dart/lib/src/sentry_tracer.dart b/dart/lib/src/sentry_tracer.dart index 88988875e6..d6a37eda07 100644 --- a/dart/lib/src/sentry_tracer.dart +++ b/dart/lib/src/sentry_tracer.dart @@ -13,7 +13,7 @@ class SentryTracer extends ISentrySpan { late final SentrySpan _rootSpan; final List _children = []; - final Map _extra = {}; + final Map _extra = {}; Timer? _autoFinishAfterTimer; var _finishStatus = SentryTracerFinishStatus.notFinishing(); @@ -81,7 +81,7 @@ class SentryTracer extends ISentrySpan { } @override - void setData(String key, value) { + void setData(String key, dynamic value) { if (finished) { return; } @@ -153,7 +153,7 @@ class SentryTracer extends ISentrySpan { @override DateTime? get endTimestamp => _rootSpan.endTimestamp; - Map get data => Map.unmodifiable(_extra); + Map get data => Map.unmodifiable(_extra); @override bool get finished => _rootSpan.finished; diff --git a/dart/test/sentry_tracer_test.dart b/dart/test/sentry_tracer_test.dart index 39812f559c..9f41214f8d 100644 --- a/dart/test/sentry_tracer_test.dart +++ b/dart/test/sentry_tracer_test.dart @@ -71,6 +71,18 @@ void main() { expect(tr.extra?['test'], isNull); }); + test('tracer sets non-string data to extra', () async { + final sut = fixture.getSut(); + + sut.setData('test', {'key': 'value'}); + + await sut.finish(status: SpanStatus.aborted()); + + final tr = fixture.hub.captureTransactionCalls.first; + + expect(tr.extra?['test'], {'key': 'value'}); + }); + test('tracer starts child', () async { final sut = fixture.getSut(); From a3eb8a47f000b0679021adb9c5464c13313f5e5d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Denis=20Andra=C5=A1ec?= Date: Tue, 11 Jan 2022 11:25:24 +0100 Subject: [PATCH 2/2] update changelog --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index cfb5df6d15..2b67cb78ee 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,7 @@ # Unreleased * Fix: Use 'navigation' instead of 'ui.load' for auto transaction operation (#675) +* Fix: Use correct data/extras type in tracer (#693) # 6.3.0-alpha.1