github parca-dev/parca-agent v0.20.0

latest releases: v0.33.1, v0.33.0, v0.32.0...
15 months ago

This Parca Agent release includes three main additions:

  1. Improved support for short lived processes.
  2. Add support for unwinding mixed stacks (JIT/DWARF/frame-pointer).
  3. Various metadata stability improvements.

Apart from these dozens of parca Agent performance improvements landed.

Happy profiling!

— Parca Maintainers

What's Changed

  • chore(deps): update github/codeql-action action to v2.3.1 by @renovate in #1589
  • chore(deps): update github/codeql-action action to v2.3.2 by @renovate in #1591
  • build(deps): update github.com/google/pprof digest to 905365e by @renovate in #1592
  • build(deps): update github.com/ianlancetaylor/demangle digest to 24673e7 by @renovate in #1593
  • chore(deps): update gcr.io/distroless/base-debian11 docker digest to df13a91 by @renovate in #1595
  • build(deps): update gcr.io/distroless/static docker digest to 7198a35 by @renovate in #1594
  • chore(deps): update dependency pre-commit to v3.3.0 by @renovate in #1596
  • chore(deps): update dependency pre-commit to v3.3.1 by @renovate in #1598
  • Add Go package to interact with libasyncprofiler by @v-thakkar in #1512
  • build(deps): update module github.com/docker/docker to v23.0.5+incompatible by @renovate in #1600
  • chore: Disable deprecated linters by @v-thakkar in #1601
  • pkg/asyncprofiler: Refactor NewAsyncProfiler to use functional options by @v-thakkar in #1603
  • chore(deps): update github/codeql-action action to v2.3.3 by @renovate in #1605
  • build(deps): update module golang.org/x/sync to v0.2.0 by @renovate in #1606
  • Overhaul process info discovery by @kakkoyun in #1507
  • chore(deps): update docker.io/goreleaser/goreleaser-cross docker tag to v1.20.4 by @renovate in #1608
  • local dev/testing: Add missing dependencies for local tilt test setup by @kakkoyun in #1610
  • pkg/asyncprofiler: Fix options format in SetAction by @v-thakkar in #1609
  • chore(deps): update dependency github.com/go-delve/delve to v1.20.2 by @renovate in #1556
  • build(deps): update module github.com/prometheus/client_model to v0.4.0 by @renovate in #1618
  • *: Fetch labels at the first encounter with a process by @kakkoyun in #1611
  • chore(container): add commit timestamp to image tag by @maxbrunet in #1621
  • cpu.go: Show error if there's an error loading the BPF code by @javierhonduco in #1620
  • Upgrade libbpfgo to 80f41e18e690 by @javierhonduco in #1622
  • build(deps): update module github.com/prometheus/client_golang to v1.15.1 by @renovate in #1624
  • build(deps): update module golang.org/x/sys to v0.8.0 by @renovate in #1626
  • build(deps): update module go.uber.org/atomic to v1.11.0 by @renovate in #1625
  • Profile correctness tests by @javierhonduco in #1627
  • tests: Move integration tests to their own dir by @javierhonduco in #1629
  • chore: Remove exclude-rules for the arguments pkg by @v-thakkar in #1630
  • *: Remove retry limit and fix race conditions around ObjectFile by @kakkoyun in #1623
  • build(deps): update module github.com/prometheus/common to v0.43.0 by @renovate in #1632
  • build(deps): update module github.com/prometheus/prometheus to v0.43.1 by @renovate in #1637
  • build(deps): update module google.golang.org/grpc to v1.55.0 by @renovate in #1638
  • build(deps): update docker.io/library/busybox:1.36.0 docker digest to a8629bc by @renovate in #1639
  • build(deps): update docker.io/library/busybox:1.36.0 docker digest to 9e2bbca by @renovate in #1640
  • chore(deps): update dependency github.com/goreleaser/goreleaser to v1.18.1 by @renovate in #1641
  • chore(deps): update dependency github.com/goreleaser/goreleaser to v1.18.2 by @renovate in #1642
  • build(deps): update module github.com/docker/docker to v23.0.6+incompatible by @renovate in #1644
  • build(deps): update github.com/google/pprof digest to eeec1cb by @renovate in #1645
  • build(deps): update github.com/ianlancetaylor/demangle digest to d34d4e9 by @renovate in #1646
  • build(deps): update golang.org/x/exp digest to dd950f8 by @renovate in #1647
  • chore(deps): jsonnet-bundler Lock file maintenance by @renovate in #1648
  • pkg/perf: Optimize perf map parsing by @brancz in #1650
  • build(container): add metadata labels by @maxbrunet in #1656
  • internal/pprof: Remove unused vendored pprof packages by @javierhonduco in #1652
  • Do not normalize addresses from JIT'd code by @javierhonduco in #1651
  • tests/integration: Improve assertions by @javierhonduco in #1660
  • deploy/tilt(dev): Add and configure kube-prometheus for local dev cluster by @kakkoyun in #1661
  • *: Fix metadata caching issues by @kakkoyun in #1653
  • build(deps): update golang to v1.20.4 by @renovate in #1659
  • chore(deps): update actions/setup-go action to v4 by @renovate in #1664
  • chore(deps): update sigstore/cosign-installer action to v3 by @renovate in #1666
  • chore(deps): update dependency pre-commit to v3.3.2 by @renovate in #1667
  • chore(deps): update sigstore/cosign-installer action to v3.0.5 by @renovate in #1668
  • build(deps): update module github.com/stretchr/testify to v1.8.3 by @renovate in #1671
  • Bump github.com/docker/distribution from 2.8.1+incompatible to 2.8.2+incompatible by @dependabot in #1636
  • pkg/perf: Reduce allocs in ReadMap when parsing a large file by @marselester in #1669
  • build(deps): update docker.io/library/busybox docker tag to v1.36.1 by @renovate in #1676
  • build(deps): update module github.com/prometheus/prometheus to v0.44.0 by @renovate in #1677
  • chore(deps): jsonnet-bundler Lock file maintenance by @renovate in #1679
  • chore(deps): jsonnet-bundler Lock file maintenance by @renovate in #1680
  • build(deps): update golang.org/x/exp digest to 03e9162 by @renovate in #1678
  • chore(deps): jsonnet-bundler Lock file maintenance by @renovate in #1681
  • pkg/discovery: Handle multi-target discovery groups properly by @kakkoyun in #1682
  • main: Add pprof config flags by @kakkoyun in #1683
  • metadata/debuginfo: Add a flag to disable caching for metadata and debuginfo components by @kakkoyun in #1685
  • pkg/cpu: Fix variable shadowing of error value by @Sylfrena in #1688
  • chore(deps): update github/codeql-action action to v2.3.4 by @renovate in #1690
  • build(deps): update module github.com/docker/docker to v24 by @renovate in #1691
  • build(deps): update module github.com/docker/docker to v24.0.1+incompatible by @renovate in #1692
  • chore(deps): update github/codeql-action action to v2.3.5 by @renovate in #1693
  • build(deps): update kubernetes to v0.27.2 by @renovate in #1694
  • *: Add inital tracing support using OTel (local testing using jaeger) by @kakkoyun in #1684
  • chore(deps): pin dependencies by @renovate in #1695
  • *: Remove unbounded caches by @kakkoyun in #1672
  • *: Add metrics, everywhere by @kakkoyun in #1634
  • chore(deps): update docker.io/jaegertracing/all-in-one:latest docker digest to 251dfdb by @renovate in #1697
  • build(deps): update module github.com/prometheus/procfs to v0.10.0 by @renovate in #1698
  • chore(deps): update docker.io/jaegertracing/all-in-one:latest docker digest to 2c9ff42 by @renovate in #1699
  • chore(local-observability): use release container image tags by @maxbrunet in #1700
  • chore(deps): jsonnet-bundler Lock file maintenance by @renovate in #1702
  • build(deps): update golang.org/x/exp digest to 2e198f4 by @renovate in #1701
  • build(deps): update module github.com/prometheus/common to v0.44.0 by @renovate in #1703
  • build(deps): update module go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc to v0.42.0 by @renovate in #1704
  • chore(deps): update docker.io/otel/opentelemetry-collector-contrib:0.78.0 docker digest to 42e8ba4 by @renovate in #1705
  • bpf: Add mixed-mode unwinding for JIT sections by @Sylfrena in #1670
  • Use libbpf's cpu number helper by @javierhonduco in #1709
  • chore(deps): update github/codeql-action action to v2.3.6 by @renovate in #1711
  • build(deps): update module github.com/docker/docker to v24.0.2+incompatible by @renovate in #1712
  • chore(deps): update gcr.io/distroless/base-debian11 docker digest to 73deaaf by @renovate in #1713
  • objectfile: Fix concurrent read and premature close issues by @kakkoyun in #1689
  • go.*/gprc: Upgrade grpc middlewares by @kakkoyun in #1715
  • *: Add native histograms by @kakkoyun in #1717
  • Enable native histograms for local promethei by @kakkoyun in #1718
  • *: Separate obtaining raw data and pprof conversion by @brancz in #1716
  • chore(deps): update kylemayes/install-llvm-action action to v1.8.1 by @renovate in #1719
  • chore(deps): jsonnet-bundler Lock file maintenance by @renovate in #1722
  • chore(deps): update docker.io/jaegertracing/all-in-one docker tag to v1.46.0 by @renovate in #1723
  • build(deps): update module github.com/prometheus/procfs to v0.10.1 by @renovate in #1720
  • build(deps): update github.com/google/pprof digest to 91b7bce by @renovate in #1721
  • pkg/maps: Don't report not ELF errors by @brancz in #1724
  • Disable RPC logging by default by @kakkoyun in #1725
  • Use more conventional naming by @kakkoyun in #1728
  • grpc: Fix codec issue causes kubernetes metadata problems by @kakkoyun in #1729
  • pkg/process: Save whether mapping contains debuginfo to upload by @brancz in #1730
  • pkg/profiler/cpu: Prevent creating unnecessary closure by @brancz in #1731
  • bpf: enable JIT unwinding by default by @Sylfrena in #1727
  • build(deps): update module github.com/stretchr/testify to v1.8.4 by @renovate in #1733
  • Refactor converter component by @kakkoyun in #1734
  • chore(deps): update quay.io/containers/podman docker tag to v4.5.1 by @renovate in #1737
  • chore(deps): update docker.io/otel/opentelemetry-collector-contrib docker tag to v0.79.0 by @renovate in #1738
  • build(deps): update golang to v1.20.5 by @renovate in #1736
  • *: Introduce lightweight LRU cache and use in hotpaths by @brancz in #1732
  • debuginfo/manager: Exclude the time to wait for goroutines turn by @kakkoyun in #1739
  • fix(config): fix reloading config from Kubernetes ConfigMap by @maxbrunet in #1735
  • buildid: Simplify and optimize build id extraction by @kakkoyun in #1740
  • pkg/process: Ensure debuginfo is uploaded by @brancz in #1743
  • pkg/process: Filter mappings to only consider executable sections by @brancz in #1745
  • pkg/process: Fix race by @brancz in #1746
  • chore(deps): update actions/checkout action to v3.5.3 by @renovate in #1747
  • chore(deps): update golangci-lint to v1.53.1 by @renovate in #1744
  • chore(deps): update docker.io/goreleaser/goreleaser-cross docker tag to v1.20.5 by @renovate in #1749
  • chore(deps): update golangci-lint to v1.53.2 by @renovate in #1750
  • build(deps): update docker.io/library/busybox:1.36.1 docker digest to b58e890 by @renovate in #1751
  • build(deps): update module github.com/opencontainers/runtime-spec to v1.1.0-rc.3 by @renovate in #1752
  • build(deps): update docker.io/library/busybox:1.36.1 docker digest to 6e49438 by @renovate in #1753
  • chore(deps): jsonnet-bundler Lock file maintenance by @renovate in #1754
  • build(deps): update module github.com/aquasecurity/libbpfgo to v0.4.9-libbpf-1.2.0 by @renovate in #1748
  • *: Remove 3rd-party multi-error packages by @kakkoyun in #1755
  • chore(deps): update goreleaser/goreleaser-action action to v4.3.0 by @renovate in #1756
  • chore(deps): update docker.io/goreleaser/goreleaser-cross:v1.20.5 docker digest to 965310d by @renovate in #1757
  • tests/integration: enable in CI by @javierhonduco in #1758
  • chore(deps): update dependency kubernetes/minikube to v1.30.1 by @renovate in #1425
  • chore(deps): update github/codeql-action action to v2.20.0 by @renovate in #1761
  • chore(deps): update dependency pre-commit to v3.3.3 by @renovate in #1762
  • tests/integration: Fix stackContains by @javierhonduco in #1763
  • cpu/process info: Reject inflight requests by @kakkoyun in #1765
  • build(deps): update parca to v0.18.0 by @renovate in #1767
  • *: Remove burrow.Cache use cache.LRU instead by @kakkoyun in #1760
  • build(deps): update module golang.org/x/sync to v0.3.0 by @renovate in #1766
  • maps/vdso: Simplify Base Address calculation by @kakkoyun in #1768
  • Upgrade ainur by @kakkoyun in #1771
  • *: Simplify ObjectFile life-cycle by @kakkoyun in #1770
  • *: Avoid constant recreation of goroutines by @kakkoyun in #1759
  • Use puzpuzpuz/xsync instead of sync.Map by @kakkoyun in #1772
  • Improve Process Info cache performance by @kakkoyun in #1773
  • chore(deps): jsonnet-bundler Lock file maintenance by @renovate in #1774
  • Add a flag to configure RPC unary timeout by @kakkoyun in #1775
  • Add a flag to control object file pool size by @kakkoyun in #1776
  • build(deps): update module golang.org/x/sys to v0.9.0 by @renovate in #1779
  • Do not cache process info if we failed to read a mapping by @kakkoyun in #1777
  • Add flags to control perf event buffer event handling by @kakkoyun in #1778
  • build(deps): update module k8s.io/apimachinery to v0.27.3 by @renovate in #1780
  • build(deps): update module k8s.io/cri-api to v0.27.3 by @renovate in #1781
  • build(deps): update kubernetes to v0.27.3 by @renovate in #1782
  • build(deps): update module github.com/klauspost/compress to v1.16.6 by @renovate in #1783

Full Changelog: v0.19.0...v0.20.0

Don't miss a new parca-agent release

NewReleases is sending notifications on new releases.