Skip to content

feat(prof): add I/O profiling for macOS#3648

Open
realFlowControl wants to merge 2 commits intomasterfrom
florian/macos-io-profiling
Open

feat(prof): add I/O profiling for macOS#3648
realFlowControl wants to merge 2 commits intomasterfrom
florian/macos-io-profiling

Conversation

@realFlowControl
Copy link
Member

@realFlowControl realFlowControl commented Feb 13, 2026

Description

This PR:

  • adds I/O profiling to macOS
  • cleans up some datatypes in I/O profiling's mod.rs

Why support macOS I/O profiling?

AFAIK we might have a few customers running the profiler on macOS, but the real value is local testability for I/O profiling in our developer environment which is native macOS.

Reviewer checklist

  • Test coverage seems ok.
  • Appropriate labels assigned.

@github-actions github-actions bot added profiling Relates to the Continuous Profiler tracing labels Feb 13, 2026
@datadog-datadog-prod-us1
Copy link

datadog-datadog-prod-us1 bot commented Feb 13, 2026

⚠️ Tests

Fix all issues with BitsAI or with Cursor

⚠️ Warnings

🧪 1028 Tests failed

testSearchPhpBinaries from integration.DDTrace\Tests\Integration\PHPInstallerTest (Datadog) (Fix with Cursor)
Risky Test
phpvfscomposer://tests/vendor/phpunit/phpunit/phpunit:60
testSimplePushAndProcess from laravel-58-test.DDTrace\Tests\Integrations\Laravel\V5_8\QueueTest (Datadog) (Fix with Cursor)
Risky Test
phpvfscomposer://tests/vendor/phpunit/phpunit/phpunit:97
testSimplePushAndProcess from laravel-8x-test.DDTrace\Tests\Integrations\Laravel\V8_x\QueueTest (Datadog) (Fix with Cursor)
DDTrace\Tests\Integrations\Laravel\V8_x\QueueTest::testSimplePushAndProcess
Test code or tested code printed unexpected output: spanLinksTraceId: 69aadc2d0000000036775f73c4fed0c0
tid: 69aadc2d00000000
hexProcessTraceId: 36775f73c4fed0c0
hexProcessSpanId: 8d746df1561e971b
processTraceId: 3924710551107588288
processSpanId: 10192892739945666331
View all

ℹ️ Info

❄️ No new flaky tests detected

This comment will be updated automatically if new data arrives.
🔗 Commit SHA: 3252a71 | Docs | Datadog PR Page | Was this helpful? React with 👍/👎 or give us feedback!

@codecov-commenter
Copy link

codecov-commenter commented Feb 13, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 62.08%. Comparing base (eebb4fe) to head (3252a71).
⚠️ Report is 5 commits behind head on master.

Additional details and impacted files

Impacted file tree graph

@@            Coverage Diff             @@
##           master    #3648      +/-   ##
==========================================
- Coverage   62.19%   62.08%   -0.11%     
==========================================
  Files         141      141              
  Lines       13352    13352              
  Branches     1746     1746              
==========================================
- Hits         8304     8290      -14     
- Misses       4256     4269      +13     
- Partials      792      793       +1     

see 3 files with indirect coverage changes


Continue to review full report in Codecov by Sentry.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update eebb4fe...3252a71. Read the comment docs.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@pr-commenter
Copy link

pr-commenter bot commented Feb 13, 2026

Benchmarks [ profiler ]

Benchmark execution time: 2026-03-06 13:54:48

Comparing candidate commit 3252a71 in PR branch florian/macos-io-profiling with baseline commit eebb4fe in branch master.

Found 0 performance improvements and 0 performance regressions! Performance is the same for 30 metrics, 6 unstable metrics.

@realFlowControl realFlowControl force-pushed the florian/macos-io-profiling branch 5 times, most recently from 3368fe5 to a83fd12 Compare February 16, 2026 14:29
@realFlowControl realFlowControl marked this pull request as ready for review February 16, 2026 15:02
@realFlowControl realFlowControl requested a review from a team as a code owner February 16, 2026 15:02
@realFlowControl realFlowControl force-pushed the florian/macos-io-profiling branch from a83fd12 to 2aa2c4b Compare February 18, 2026 06:12
@realFlowControl realFlowControl requested review from a team as code owners February 18, 2026 06:12
@realFlowControl realFlowControl force-pushed the florian/macos-io-profiling branch 2 times, most recently from e32fa5d to 6bac2fd Compare February 18, 2026 06:19
Copy link
Collaborator

@morrisonlevi morrisonlevi left a comment

Choose a reason for hiding this comment

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

I have some more reading to do to review the rest of it, but here's some review.

@realFlowControl realFlowControl force-pushed the florian/macos-io-profiling branch 2 times, most recently from c059da0 to 47b716f Compare March 6, 2026 13:19
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
@realFlowControl realFlowControl force-pushed the florian/macos-io-profiling branch from 47b716f to eee1fc6 Compare March 6, 2026 13:19
@realFlowControl realFlowControl force-pushed the florian/macos-io-profiling branch from eee1fc6 to 3252a71 Compare March 6, 2026 13:35
@pr-commenter
Copy link

pr-commenter bot commented Mar 6, 2026

Benchmarks [ tracer ]

Benchmark execution time: 2026-03-06 14:54:43

Comparing candidate commit 3252a71 in PR branch florian/macos-io-profiling with baseline commit eebb4fe in branch master.

Found 3 performance improvements and 1 performance regressions! Performance is the same for 190 metrics, 0 unstable metrics.

scenario:ComposerTelemetryBench/benchTelemetryParsing

  • 🟩 execution_time [-1.880µs; -0.920µs] or [-15.799%; -7.730%]

scenario:EmptyFileBench/benchEmptyFileBaseline

  • 🟥 execution_time [+159.554µs; +386.226µs] or [+4.922%; +11.915%]

scenario:MessagePackSerializationBench/benchMessagePackSerialization

  • 🟩 execution_time [-6.472µs; -5.928µs] or [-5.950%; -5.450%]

scenario:TraceSerializationBench/benchSerializeTrace-opcache

  • 🟩 execution_time [-15.261µs; -7.139µs] or [-4.372%; -2.045%]

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

profiling Relates to the Continuous Profiler tracing

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants