25.10.0
Features:
- Add support for speedscope rendering of Android reactnative profiles (#386)
- Add callTree generation for reactnative (android+js) profiles (#390)
- Use profiles that were not dynamically sampled to enhance slowest functions aggregation (#300)
- Add support for writing function metrics to generic metrics platform (#422)
- Add support to ingest metric_summaries for profile functions (#431)
- Add platform field to android methods to align with the sample format (#442)
- Exclude unsymbolicated frames from metrics ingestion (#441)
- Filter out system frames when ingesting functions into generic metrics (#444)
- Store profile chunks. (#463)
- Add endpoint to return a profile from a list of chunk IDs (#470)
- Add callTree generation for profile chunks (#475)
- Support generating a flamegraph from a list of chunk IDs (#476)
- Dual mode flamegraph endpoint (#487)
- Remove getProfileIDFromTransaction endpoint (#491)
- Pass thread id to calltree generation (#492)
- Dual mode metrics endpoint (#493)
- Add optional generation of metrics during flamegraph aggregation (#494)
- Ingest function metrics from profile chunks (#495)
- Annotate flamegraph with profile data (#501), (#502), (#503)
- Forward SDK info for sample profiles to Kafka. (#507)
- Forward SDK info for legacy profiles to Kafka. (#515)
- Add more metadata fields to Chunk Kafka message. (#518)
- Ingest Android profile chunks. (#521)
- Handle profile chunks in regressed endpoint. (#527)
- Authentication support for Kafka connection. (#530)
- Add support for android chunks. (#540)
- Use generic Chunk interface in CallTreesReadJob (#554)
- Add start/end to profile example. (#575)
- Add default non-root user in the Docker image. (#593)
- Classify macOS frames from an application as application frames. (#604)
- Return number of occurrences in flamegraph. (#622, #625)
- Use function duration when computing metrics (#627, #628, #629, #630, #639)
- Remove Unused metrics endpoint (#633)
Bug Fixes:
- Label all node frames as system (#392)
- Fix react-native (android) rendering issue (#397)
- Restrict max depth for android profiles (#424), (#426)
- Android enter/exit checks should be per thread (#429)
- Store js/node frames symbolicator status (#439)
- Fix react native (with cocoa) profile normalization (#443)
- Set 5s timeout for http client used to send metrics (#457)
- Reuse one http client across different requests (#458)
- Fix correct in_app classification for
[Native]js frames (#464) - Ignore react-native js frame for metrics aggregation when not symbolicated (#465)
- Do not iterate unclosed channel (#489)
- Remove module frame in python (#496)
- Handle js profile normalization for react+android profiles (#499)
- Fix metrics example list (#505)
- Increase readjob channel size (#512)
- Return the duration measured by the profiler. (#516, #517)
- Annotate functions to the right thread. (#523)
- Should write the profiler id. (#528)
- Prioritize stack trace rule over app.identifier (#529)
- Fix android callTree timestamps and make them consistent with the sample (v2) format (#553)
Internal:
- Bump trufflesecurity/trufflehog from 3.63.4 to 3.63.5 (#381)
- Bump trufflesecurity/trufflehog from 3.63.5 to 3.63.7 (#385)
- Bump number of workers for flamegraph dynamically (#388)
- Bump trufflesecurity/trufflehog from 3.63.8 to 3.63.9 (#389)
- Bump trufflesecurity/trufflehog from 3.63.9 to 3.63.10 (#391)
- Bump trufflesecurity/trufflehog from 3.63.10 to 3.63.11 (#393)
- Ref(functions): Clean up Kafka message (#394)
- Bump trufflesecurity/trufflehog from 3.63.11 to 3.64.0 (#395)
- Bump trufflesecurity/trufflehog from 3.64.0 to 3.65.0 (#396)
- Bump trufflesecurity/trufflehog from 3.65.0 to 3.66.1 (#398)
- Bump trufflesecurity/trufflehog from 3.66.1 to 3.66.2 (#399)
- Bump trufflesecurity/trufflehog from 3.66.2 to 3.66.3 (#400)
- Bump trufflesecurity/trufflehog from 3.66.3 to 3.67.0 (#401)
- Bump trufflesecurity/trufflehog from 3.67.0 to 3.67.1 (#402)
- Refactor flamegraph workers sping-off logic (#403)
- Bump trufflesecurity/trufflehog from 3.67.1 to 3.67.3 (#404)
- Bump pre-commit/action from 3.0.0 to 3.0.1 (#405)
- Bump trufflesecurity/trufflehog from 3.67.3 to 3.67.4 (#406)
- Bump trufflesecurity/trufflehog from 3.67.4 to 3.67.5 (#407)
- Bump golangci/golangci-lint-action from 3 to 4 (#408)
- Remove experimental function regression issue (#409)
- Bump trufflesecurity/trufflehog from 3.67.5 to 3.67.6 (#411)
- Bump trufflesecurity/trufflehog from 3.67.6 to 3.67.7 (#413)
- Bump trufflesecurity/trufflehog from 3.67.7 to 3.68.0 (#414)
- Bump trufflesecurity/trufflehog from 3.68.0 to 3.68.2 (#416)
- Bump trufflesecurity/trufflehog from 3.68.2 to 3.68.3 (#418)
- Bump trufflesecurity/trufflehog from 3.68.3 to 3.68.4 (#419)
- Bump trufflesecurity/trufflehog from 3.68.4 to 3.68.5 (#420)
- Bump trufflesecurity/trufflehog from 3.68.5 to 3.69.0 (#421)
- Keep col info when converting from android method to frame (#423)
- Bump google.golang.org/protobuf from 1.30.0 to 1.33.0 (#427)
- Bump trufflesecurity/trufflehog from 3.69.0 to 3.70.2 (#430)
- Bump trufflesecurity/trufflehog from 3.70.2 to 3.70.3 (#432)
- Bump trufflesecurity/trufflehog from 3.70.3 to 3.71.0 (#433)
- Bump trufflesecurity/trufflehog from 3.71.0 to 3.71.1 (#434)
- Bump trufflesecurity/trufflehog from 3.71.1 to 3.71.2 (#435)
- Bump trufflesecurity/trufflehog from 3.71.2 to 3.72.0 (#436)
- Bump trufflesecurity/trufflehog from 3.72.0 to 3.73.0 (#440)
- Skip metrics summary logic altogether if there are no metrics (#445)
- Bump golang.org/x/net from 0.17.0 to 0.23.0 (#446)
- Bump trufflesecurity/trufflehog from 3.73.0 to 3.74.0 (#452)
- Bump golangci/golangci-lint-action from 4 to 5 (#453)
- Bump golangci/golangci-lint-action from 5 to 6 (#459)
- Use SendEventWithContext to bail out from requests when client disconnect (#460)
- Set logger for sentry client and replace zerolog with slog (#461)
- Rename logger msg key to message (#462)
- Bump github.com/Azure/azure-sdk-for-go/sdk/azidentity from 1.2.1 to 1.6.0 (#471)
- Remove unused flamegraph endpoint (dead code) (#472)
- Remove unused functions endpoint (dead code) (#474)
- Serialize chunk fields with lower case (#483)
- Filter out samples before start and after end (#484)
- Remove unused endpoint for profiling filters (#485)
- Generalize chunk task input (#486)
- Use builtin min/max functions (#497)
- Lift Intervals struct to utils (#498)
- Fix flakey test for profile examples (#504)
- Instrument flamegraph generation with spans (#510), (#511)
- Move calltree generation into readjob (#514)
- Stop writing profile examples to metrics_summary (#519)
- Update materialized_version for profile functions metrics (#522)
- Support writing functions metrics we extract from chunks into the functions dataset (#524)
- Keep top N samples in flamegraph. (#526)
- Add utility to merge a list of android chunks and generate a speedscope result (#531)
- Remove unused legacy flamegraph code path. (#533)
- Remove generic metrics ingestion (#534)
- Add android chunk calltree implementation and signature definition to the chunk interface (#536)
- Update sentry-go dependency to v0.29.1 (#535)
- Lower number of concurrent reads (#537)
- Remove unused metrics summary kafka writer (#538)
- Remove unused chunks flamegraph endpoint (#541)
- Pass readjob result as pointer (#542)
- Bump golang.org/x/crypto from 0.24.0 to 0.31.0 (#544)
- Add a minDepth check for function metrics (#550)
- Bump x/net package to fix security issue (high severity) (#555)
- Enforce shorter timeout for chunks download in flamegraph generation (#557)
- Bump actions/create-github-app-token from 1.11.2 to 1.11.3 (#559)
- Publish vroom to GHCR and provide a tagged release on GHCR. (#576)
- Buffer flamegraph candidates to reduce memory usage. (#583)
- Reduce read jobs buffer to reduce memory usage. (#584)
- Update GoCD scripts to use console script entry points. (#608)
- Fix Craft's changelog bump entry. (#640)