Skip to content

ref(file): Remove file.async attributes from instrumentation#3841

Open
buenaflor wants to merge 2 commits into
v10-branchfrom
ref/remove-file-async-attribute
Open

ref(file): Remove file.async attributes from instrumentation#3841
buenaflor wants to merge 2 commits into
v10-branchfrom
ref/remove-file-async-attribute

Conversation

@buenaflor

Copy link
Copy Markdown
Contributor

file.async is dropped from every file-I/O span and breadcrumb, on both the async and sync paths. It was a Sentry-invented attribute with no product feature consuming it — a dead signal. The sync attribute stays as-is.

Part of the v10 cleanup (#3487).

Breaking change: consumers that filter or sample on file.async lose the signal; whether an operation was synchronous is still expressed by the sync attribute on sync spans.

Fixes #3830

@github-actions

github-actions Bot commented Jul 1, 2026

Copy link
Copy Markdown
Contributor

Semver Impact of This PR

None (no version bump detected)

📋 Changelog Preview

This is how your changes will appear in the changelog.
Entries from this PR are highlighted with a left border (blockquote style).


Features

  • (grpc) Add integration support for GRPC by lucas-zimerman in #3721

Fixes

  • Correct feature flag scope buffer updates by denrase in #3797

Dependencies

Deps

  • chore(deps): update Android SDK to v8.46.0 by github-actions in #3793
  • chore(deps): update Native SDK to v0.15.2 by github-actions in #3785

Internal Changes

  • (file) Remove file.async attributes from instrumentation by buenaflor in #3841
  • (skills) Expand test-guidelines and drop stale deps by buenaflor in #3807
  • Add PR template checkbox for cross sdk review on public API changes by antonis in #3822
  • Block manual CHANGELOG.md edits by buenaflor in #3810
  • Fix Dependabot pub paths and pin GitHub Action by buenaflor in #3804
  • Add AI Use section to CONTRIBUTING.md by christophaigner in #3803

🤖 This preview updates automatically when you update the PR.

@buenaflor buenaflor changed the title ref(file)!: Remove file.async attributes from instrumentation ref(file): Remove file.async attributes from instrumentation Jul 1, 2026
@codecov

codecov Bot commented Jul 1, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
⚠️ Please upload report for BASE (v10-branch@59d7c7b). Learn more about missing BASE report.
✅ All tests successful. No failed tests found.

Additional details and impacted files
@@              Coverage Diff              @@
##             v10-branch    #3841   +/-   ##
=============================================
  Coverage              ?   64.45%           
=============================================
  Files                 ?        4           
  Lines                 ?      166           
  Branches              ?        0           
=============================================
  Hits                  ?      107           
  Misses                ?       59           
  Partials              ?        0           
Flag Coverage Δ
sentry_file 64.45% <ø> (?)

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Harness.
📢 Have feedback on the report? Share it here.

The file.async span attribute and breadcrumb data was a
Sentry-invented signal with no product feature consuming it — a dead
signal on every file-I/O span and breadcrumb. Remove it from both the
async and sync paths. The sync attribute is left untouched.

BREAKING CHANGE: Consumers relying on file.async for filtering or
sampling lose the signal.

Fixes GH-3830
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@buenaflor buenaflor force-pushed the ref/remove-file-async-attribute branch from 1d3cc98 to c1d7071 Compare July 1, 2026 11:31
@buenaflor buenaflor changed the base branch from main to v10-branch July 1, 2026 11:31
@buenaflor buenaflor marked this pull request as ready for review July 1, 2026 15:10
@buenaflor buenaflor requested a review from denrase as a code owner July 1, 2026 15:10
Copilot AI review requested due to automatic review settings July 1, 2026 15:10

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Pull request overview

Removes the custom file.async attribute from sentry_file’s file-I/O instrumentation (spans + breadcrumbs), keeping the existing sync marker for sync operations, as part of the v10 cleanup.

Changes:

  • Removed file.async from span data and breadcrumb data emitted by SentryFile (async + sync wrappers).
  • Updated file package tests to stop asserting file.async in both spanv2 and span/breadcrumb assertions.

Standards

  • Minor test helper naming typo remains in a modified hunk (_asserBreadcrumb vs _assertBreadcrumb) — commented as a nit.

Spec

  • Matches #3830 expected outcome: file.async removed from emitted spans and breadcrumbs, with assertions updated accordingly.

Correctness

  • No functional instrumentation flow changes beyond removing the attribute; sync on sync spans is preserved.

Reviewed changes

Copilot reviewed 3 out of 3 changed files in this pull request and generated 3 comments.

File Description
packages/file/lib/src/sentry_file.dart Removes file.async from span/breadcrumb payloads in async + sync wrappers.
packages/file/test/sentry_file_test.dart Updates span/breadcrumb assertions to no longer expect file.async.
packages/file/test/spanv2_integration_test.dart Updates spanv2 assertions to no longer expect file.async.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

}

void _asserBreadcrumb(bool async) {
void _asserBreadcrumb() {

_assertSpan(true);
_asserBreadcrumb(true);
_asserBreadcrumb();

_assertSpan(false);
_asserBreadcrumb(false);
_asserBreadcrumb();
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.

[v10] Remove file.async attributes from instrumentation

2 participants