Skip to content

v0.0.6

Latest
Compare
Choose a tag to compare
@MikailBag MikailBag released this 02 Jul 16:59
· 180 commits to main since this release

Compatibility changes:

  • Database schema has changed. Applying migrations is necessary when upgrading from previous Perforator version.
  • Agent with Kubernetes integration now uses KUBERNETES_SERVICE_HOST and KUBERNETES_SERVICE_PORT environment variables to reach API server if they are available. Previously hardcoded address kubernetes.default.svc.cluster.local was always used. This behavior can be controlled with kubernetes_api_server_host agent configuration field or agent.config.KubernetesAPIServerHost chart value.

Fixes:

  • (Language support) Fix perfmap-based JVM profiling when process working directory is read-only (f3d6f60)
  • (Agent) Support CRI-O and cri-dockerd container runtimes (272ee55)
  • (UI) Fix unstable behavior when viewing large flamegraphs (32a6fff)
  • (Language support) Fix NodeJS symbolization quality degradation over time (5d44eb0)
  • (Storage) Adjust GOMAXPROCS when running in container (37977c1)
  • (Proxy) Fix panic at startup when using Go v1.23 or higher (ee11159)
  • (CI) Fix AutoFDO build (c0e4425)
  • (UI) Fix root frame color calculation (8c0f439)
  • (Proxy) Do not count no profiles to merge errors on proxy (5ecbc0e)
  • (UI) Fix tab crash on large profiles (6c195b6)

Features:

  • (Language support) CPython v2.4 and later versions are now supported
  • (Language support) Cython is now supported
  • (UI) Allow to delete stacks with Alt+Click (15b1dce)
  • (Microscopes) Increase max microscope duration to 48h (was 1h) (73e9ca3)
  • (Query language) build_ids filter now filters out samples that don't contain any code from the specified binaries
  • (UI) Add search focus mode (8fd27c1)
  • (UI) Add title to search (4bc2d0f)
  • (UI) Add frame context menu (0f48371)
  • (UI) Add proxy name to task view (75c58cf)
  • (Agent) Add support for user-defined labels for profiles (80a70a5)
  • (Agent, CLI) Support uprobes
  • (Agent) Add namespace label and pod labels to profile (e28bf75)
  • (UI) Paginate profiles list (01d60a3)
  • (UI) Add top tab to task results (734d377)
  • (CLI) Add html-v2 output format (b4c4715)
  • (CLI) Add profile quality statistiscs to record --upload output (ca66809)
  • (UI) Paginate tasks list (ff021ef)
  • (CLI) Support local flamegraph construction from pprof/collapsed stacks; support local profile symbolization using split DWARF (5bc9cc3)
  • (Storage) Object storage requests routing can use HTTP proxy with proxy configuration discovered and refreshed at runtime (56cc43b)
  • (UI) Add side-by-side top view to flamegraph page ( b1132ce)

Improvements:

  • Avoid updating last used timestamp on every AnnounceBinaries to decrease write load on the database (af7164d)
  • Add metrics for object storage request retries (17d896a)
  • Improve interpreted language representation in new profile format (a958ab1)
  • Preserve flamegraph options in profiles uploaded via CLI (a54c9d3)
  • Improve pagination in ListProfiles RPC (940fd8d)
  • Unify TLS configuration (5e962ca, bb4dfdd)
  • Add total task count to ListTasks RPC (0e3aa3f)
  • Add service to atomic profile selector (2449719)
  • Make storage use cluster label provided by agent by default (963b040)
  • Change TCMalloc cache mode from per-core to per-thread in agent (411bd2c)
  • Upgrade TCMalloc (8f34d17)
  • Add exponential backoff to storage client (952b27e)
  • Optimize hover (dede1b3)

Documentation:

  • Document nginx ingress controller installation (e42f0af)
  • Add link to the Medium post (d0de017)
  • Clarify PERFORATOR_ENDPOINT expected format and default port (7a4cecb)
  • Remove incorrect claim about SVG output format support (04028e5)
  • Document multi-cluster perforator setup (6be8a54)
  • Remove docker compose-based databases setup (93af4f9)
  • Fix missing redirect (e55625e)
  • Add missing build step (dd7b6b1)
  • Explain python profiling implementation details