Skip to content
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
format
  • Loading branch information
buenaflor committed Sep 4, 2023
commit dd2f870f359f91f55623f6e7b5f80cb89bbe9320
3 changes: 2 additions & 1 deletion dart/lib/src/http_client/tracing_client.dart
Original file line number Diff line number Diff line change
Expand Up @@ -65,7 +65,8 @@ class TracingClient extends BaseClient {
final baggage = propagationContext.baggage;
if (baggage != null) {
final baggageHeader = SentryBaggageHeader.fromBaggage(baggage);
addBaggageHeader(baggageHeader, request.headers, logger: _hub.options.logger);
addBaggageHeader(baggageHeader, request.headers,
logger: _hub.options.logger);
}
}
}
Expand Down
52 changes: 26 additions & 26 deletions dart/lib/src/utils/tracing_utils.dart
Original file line number Diff line number Diff line change
@@ -1,55 +1,55 @@
import '../../sentry.dart';

void addSentryTraceHeaderFromSpan(ISentrySpan span, Map<String, dynamic> headers) {
void addSentryTraceHeaderFromSpan(
ISentrySpan span, Map<String, dynamic> headers) {
final traceHeader = span.toSentryTrace();
headers[traceHeader.name] = traceHeader.value;
}

void addSentryTraceheader(SentryTraceHeader traceHeader, Map<String, dynamic> headers) {
void addSentryTraceheader(
SentryTraceHeader traceHeader, Map<String, dynamic> headers) {
headers[traceHeader.name] = traceHeader.value;
}

void addBaggageHeaderFromSpan(
ISentrySpan span,
Map<String, dynamic> headers, {
SentryLogger? logger,
}) {
ISentrySpan span,
Map<String, dynamic> headers, {
SentryLogger? logger,
}) {
final baggage = span.toBaggageHeader();
if (baggage != null) {
addBaggageHeader(baggage, headers, logger: logger);
}
}


void addBaggageHeader(
SentryBaggageHeader baggage,
Map<String, dynamic> headers, {
SentryLogger? logger,
}) {
final currentValue = headers[baggage.name] as String? ?? '';
final currentValue = headers[baggage.name] as String? ?? '';

final currentBaggage = SentryBaggage.fromHeader(
currentValue,
logger: logger,
);
final sentryBaggage = SentryBaggage.fromHeader(
baggage.value,
logger: logger,
);
final currentBaggage = SentryBaggage.fromHeader(
currentValue,
logger: logger,
);
final sentryBaggage = SentryBaggage.fromHeader(
baggage.value,
logger: logger,
);

// overwrite sentry's keys https://develop.sentry.dev/sdk/performance/dynamic-sampling-context/#baggage
final filteredBaggageHeader = Map.from(currentBaggage.keyValues);
filteredBaggageHeader
.removeWhere((key, value) => key.startsWith('sentry-'));
// overwrite sentry's keys https://develop.sentry.dev/sdk/performance/dynamic-sampling-context/#baggage
final filteredBaggageHeader = Map.from(currentBaggage.keyValues);
filteredBaggageHeader.removeWhere((key, value) => key.startsWith('sentry-'));

final mergedBaggage = <String, String>{
...filteredBaggageHeader,
...sentryBaggage.keyValues,
};
final mergedBaggage = <String, String>{
...filteredBaggageHeader,
...sentryBaggage.keyValues,
};

final newBaggage = SentryBaggage(mergedBaggage, logger: logger);
final newBaggage = SentryBaggage(mergedBaggage, logger: logger);

headers[baggage.name] = newBaggage.toHeaderString();
headers[baggage.name] = newBaggage.toHeaderString();
}

bool containsTargetOrMatchesRegExp(
Expand Down
3 changes: 2 additions & 1 deletion dart/test/http_client/tracing_client_test.dart
Original file line number Diff line number Diff line change
Expand Up @@ -175,7 +175,8 @@ void main() {
await sut.get(requestUri);
});

test('set headers from propagationContext when tracing is disabled', () async {
test('set headers from propagationContext when tracing is disabled',
() async {
fixture._options.enableTracing = false;
final sut = fixture.getSut(
client: fixture.getClient(statusCode: 200, reason: 'OK'),
Expand Down