Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix: sampled profile format validation errors #2350

Merged
merged 5 commits into from
Nov 2, 2022

Conversation

armcknight
Copy link
Member

@armcknight armcknight commented Nov 2, 2022

This was causing profiles with the new schema to fail validation.

#skip-changelog

@github-actions
Copy link

github-actions bot commented Nov 2, 2022

Performance metrics 🚀

  Plain With Sentry Diff
Startup time 1253.94 ms 1287.72 ms 33.78 ms
Size 20.50 KiB 361.82 KiB 341.32 KiB

Baseline results on branch: master

Startup times

Revision Plain With Sentry Diff
0fdf0b2 1243.92 ms 1250.86 ms 6.94 ms
ae4f9dd 1238.88 ms 1247.74 ms 8.86 ms
82e596a 1252.72 ms 1278.34 ms 25.62 ms
64225be 1218.57 ms 1238.38 ms 19.81 ms
0fdf0b2 1194.37 ms 1227.90 ms 33.53 ms
ef8b0ce 1212.34 ms 1249.64 ms 37.30 ms
e43ce74 1235.77 ms 1252.06 ms 16.29 ms
3e85a23 1244.94 ms 1265.55 ms 20.61 ms
64225be 1213.96 ms 1227.62 ms 13.66 ms
c929040 1254.84 ms 1278.42 ms 23.58 ms

App size

Revision Plain With Sentry Diff
0fdf0b2 20.51 KiB 332.90 KiB 312.39 KiB
ae4f9dd 20.50 KiB 338.99 KiB 318.49 KiB
82e596a 20.50 KiB 337.76 KiB 317.26 KiB
64225be 20.50 KiB 339.02 KiB 318.51 KiB
0fdf0b2 20.51 KiB 332.90 KiB 312.39 KiB
ef8b0ce 20.50 KiB 337.71 KiB 317.20 KiB
e43ce74 20.51 KiB 335.49 KiB 314.99 KiB
3e85a23 20.50 KiB 339.00 KiB 318.49 KiB
64225be 20.50 KiB 339.02 KiB 318.52 KiB
c929040 20.51 KiB 333.10 KiB 312.59 KiB

Previous results on branch: armcknight/fix/profile-payload-version

Startup times

Revision Plain With Sentry Diff
8cdc1d3 1231.53 ms 1262.29 ms 30.76 ms
e8dd8d9 1246.43 ms 1272.76 ms 26.33 ms

App size

Revision Plain With Sentry Diff
8cdc1d3 20.50 KiB 361.83 KiB 341.33 KiB
e8dd8d9 20.50 KiB 361.75 KiB 341.24 KiB

@armcknight armcknight changed the title fix: add a profile payload schema version field fix: sampled profile format validation errors Nov 2, 2022
@armcknight armcknight force-pushed the armcknight/fix/profile-payload-version branch from 63d5f90 to 0b02500 Compare November 2, 2022 21:14
@@ -522,6 +522,9 @@ - (void)captureEnvelope
const auto profileDuration = getDurationNs(_startTimestamp, _endTimestamp);
profile[@"duration_ns"] = [@(profileDuration) stringValue];
profile[@"truncation_reason"] = profilerTruncationReasonName(_truncationReason);
profile[@"platform"] = _transactions.firstObject.platform;
profile[@"environment"] = _hub.scope.environmentString ?: _hub.getClient.options.environment ?: kSentryDefaultEnvironment;
profile[@"timestamp"] = [[SentryCurrentDate date] sentry_toIso8601String];
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please confirm that a string such as 2022-11-02T21:16:20.877Z would validate? @phacops

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It would.

Copy link
Member

@Zylphrex Zylphrex left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM pending the follow-ups for the relative_end_ns and active_thread_id 👍

@"id" : transaction.eventId.sentryIdString,
@"trace_id" : transaction.trace.context.traceId.sentryIdString,
@"name" : transaction.transaction,
@"relative_start_ns" : relativeStart,
@"relative_end_ns" : relativeEnd
@"relative_end_ns" : relativeEnd,
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Do we have a TODO somewhere to make sure the relative_end_ns is correct?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I just filed an issue here for this, thanks for reminding me! #2352

@armcknight armcknight merged commit 64f4e63 into master Nov 2, 2022
@armcknight armcknight deleted the armcknight/fix/profile-payload-version branch November 2, 2022 23:25
@"relative_end_ns" : relativeEnd
@"relative_end_ns" : relativeEnd,
@"active_thread_id" :
mainThreadID // TODO: we are just using the main thread ID for all transactions to
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

TODO captures in #2356

kevinrenskers added a commit that referenced this pull request Nov 7, 2022
* master:
  test: Delete empty OOMLogicTests (#2361)
  fix: profiling transaction timestamps (#2359)
  fix: profiling transaction thread IDs (#2358)
  test: Use flush for macOS-SPM sample (#2360)
  release: 7.30.0
  fix: SentryCrash writing nan for invalid number (#2348)
  HTTP Client errors (#2308)
  ci: Call make for analyze (#2353)
  fix: CoreData tracking entity name retrieval (#2329)
  fix: sampled profile format backend validation errors (#2350)
  build(deps): bump github/codeql-action from 2.1.29 to 2.1.30 (#2351)
  build(deps): bump github/codeql-action from 2.1.28 to 2.1.29 (#2344)
  fix: Fixed flaky testTimezoneChangeNotificationBreadcrumb (#2335)

# Conflicts:
#	Sentry.xcodeproj/project.pbxproj
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants