Skip to content

Commit a2322b7

Browse files
denraseDenis Andrašec
andauthored
Fix: Use correct data/extra type in tracer (#693)
Co-authored-by: Denis Andrašec <[email protected]>
1 parent 1f32c29 commit a2322b7

File tree

3 files changed

+16
-3
lines changed

3 files changed

+16
-3
lines changed

CHANGELOG.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
# Unreleased
22

33
* Fix: Use 'navigation' instead of 'ui.load' for auto transaction operation (#675)
4+
* Fix: Use correct data/extras type in tracer (#693)
45

56
# 6.3.0-alpha.1
67

dart/lib/src/sentry_tracer.dart

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ class SentryTracer extends ISentrySpan {
1313

1414
late final SentrySpan _rootSpan;
1515
final List<SentrySpan> _children = [];
16-
final Map<String, String> _extra = {};
16+
final Map<String, dynamic> _extra = {};
1717
Timer? _autoFinishAfterTimer;
1818
var _finishStatus = SentryTracerFinishStatus.notFinishing();
1919

@@ -81,7 +81,7 @@ class SentryTracer extends ISentrySpan {
8181
}
8282

8383
@override
84-
void setData(String key, value) {
84+
void setData(String key, dynamic value) {
8585
if (finished) {
8686
return;
8787
}
@@ -153,7 +153,7 @@ class SentryTracer extends ISentrySpan {
153153
@override
154154
DateTime? get endTimestamp => _rootSpan.endTimestamp;
155155

156-
Map<String, String> get data => Map.unmodifiable(_extra);
156+
Map<String, dynamic> get data => Map.unmodifiable(_extra);
157157

158158
@override
159159
bool get finished => _rootSpan.finished;

dart/test/sentry_tracer_test.dart

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -71,6 +71,18 @@ void main() {
7171
expect(tr.extra?['test'], isNull);
7272
});
7373

74+
test('tracer sets non-string data to extra', () async {
75+
final sut = fixture.getSut();
76+
77+
sut.setData('test', {'key': 'value'});
78+
79+
await sut.finish(status: SpanStatus.aborted());
80+
81+
final tr = fixture.hub.captureTransactionCalls.first;
82+
83+
expect(tr.extra?['test'], {'key': 'value'});
84+
});
85+
7486
test('tracer starts child', () async {
7587
final sut = fixture.getSut();
7688

0 commit comments

Comments
 (0)