Skip to content

Sync internal changes - #78

Merged
aabmass merged 44 commits into
masterfrom
copybara_staging
Oct 29, 2026
Merged

aabmass merged 44 commits into
masterfrom
copybara_staging

Conversation

@aabmass

@aabmass aabmass commented Oct 29, 2026

Copy link
Copy Markdown
Collaborator

No description provided.

@aabmass
aabmass requested a review from psx95 October 29, 2026 01:56
@google-cla

google-cla Bot commented Oct 29, 2026

Copy link
Copy Markdown

Thanks for your pull request! It looks like this may be your first contribution to a Google open source project. Before we can look at your pull request, you'll need to sign a Contributor License Agreement (CLA).

View this failed invocation of the CLA check for more information.

For the most up to date status, view the checks section at the bottom of the pull request.

@aabmass
aabmass requested a review from pintohutch October 29, 2026 02:10
PiperOrigin-RevId: 728571468
PiperOrigin-RevId: 836252796
…angling pointer.

PiperOrigin-RevId: 836343382
PiperOrigin-RevId: 840489807
PiperOrigin-RevId: 869261811
PiperOrigin-RevId: 869299341
PiperOrigin-RevId: 869329884
…`GarbageInstrumentationFunction` hooks in heap_sampler.

PiperOrigin-RevId: 871450042
…EventSampledObjectAlloc callbacks.

PiperOrigin-RevId: 885713184
`StringId(absl::string_view)`.

After we migrate internal callers, we will delete the `const char*`
overload.

PiperOrigin-RevId: 886273178
…::profiles::Builder::StringId().

PiperOrigin-RevId: 888226795
Redaction works by translating all mappings and their corresponding location
addresses to a more compact address space that starts at 0x200000.

Creates a temporary copy of the const input Profile on an arena and modify the
copy's mapping and location addresses before serializing it.

PiperOrigin-RevId: 889321380
PiperOrigin-RevId: 890103712
…ace address

range.

PiperOrigin-RevId: 896740561
`c_str()` is already guaranteed to be non-null.

`data()` is also usually non-null, but if it is null, then the
string_view is empty, so the `NullSafeStringView` wrapper is still a
no-op.

PiperOrigin-RevId: 901472540
PiperOrigin-RevId: 915117713
…t the active instruction rather than a return address.

PiperOrigin-RevId: 945259231
PiperOrigin-RevId: 954308413
PiperOrigin-RevId: 954616173
PiperOrigin-RevId: 955343807
PiperOrigin-RevId: 955614519
PiperOrigin-RevId: 956942659
In third_party/javaprofiler/clock.h, TimeAdd checked
`t.tv_nsec > kNanosPerSecond` instead of `t.tv_nsec >= kNanosPerSecond`.
When `t1.tv_nsec + t2.tv_nsec == kNanosPerSecond` (1,000,000,000), TimeAdd
returned an unnormalized timespec with `tv_nsec = 1,000,000,000`.

When passed to Clock::SleepUntil or Clock::SleepFor, clock_nanosleep
immediately returns EINVAL (22). Because SleepUntil and SleepFor looped
while `clock_nanosleep(...) > 0` instead of `== EINTR`, the profiler
worker thread spun indefinitely at 100% CPU.

Normalize `t.tv_nsec >= kNanosPerSecond` in TimeAdd, retry clock_nanosleep
only on EINTR in SleepUntil and SleepFor, and as extra safety initialize
`profile_period` via NanosToTimeSpec(period_nanos_) instead of
`{0, period_nanos_}` in WallProfiler::Collect so `profile_period` is
always normalized when EffectivePeriodNanos scales `period_nanos_` to
>= 1s.

PiperOrigin-RevId: 995225455
PiperOrigin-RevId: 997737625
PiperOrigin-RevId: 1006696556
@aabmass
aabmass merged commit ee18e12 into master Oct 29, 2026
7 checks passed
@aabmass
aabmass deleted the copybara_staging branch October 29, 2026 15:34
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