From 801457187caa42ec3c1c03b2323601057ce90860 Mon Sep 17 00:00:00 2001 From: umanwizard Date: Thu, 26 Sep 2024 13:56:14 -0400 Subject: [PATCH] Rework Go custom labels offsets handling (#12) Rather than require a match on the exact version, we should just match on major+minor, and fall back to the latest version if we don't find a result. --- interpreter/golang/golang.go | 29 +- interpreter/golang/runtime_data.go | 1294 +--------------------------- 2 files changed, 44 insertions(+), 1279 deletions(-) diff --git a/interpreter/golang/golang.go b/interpreter/golang/golang.go index b4ae73f2..c01dfbe0 100644 --- a/interpreter/golang/golang.go +++ b/interpreter/golang/golang.go @@ -3,6 +3,7 @@ package golang import ( "errors" "fmt" + "regexp" "unsafe" log "github.com/sirupsen/logrus" @@ -16,6 +17,8 @@ import ( // #include "../../support/ebpf/types.h" import "C" +var goMajorMinorRegex = regexp.MustCompile(`^go\d+\.\d+`) + type data struct { goVersion string offsets C.GoCustomLabelsOffsets @@ -37,6 +40,13 @@ func (d data) Detach(ebpf interpreter.EbpfHandler, pid libpf.PID) error { } func Loader(_ interpreter.EbpfHandler, info *interpreter.LoaderInfo) (interpreter.Data, error) { + // Note: So far we have observed that offsets are always the same for any + // go1.mm.yy with fixed mm and any value of yy. That is; the major and minor + // version determine the offsets, while the patch version has no effect. + // + // If this should change in some future Go patch release, we'll need to change + // this function. + file, err := info.GetELF() if err != nil { return nil, err @@ -50,10 +60,25 @@ func Loader(_ interpreter.EbpfHandler, info *interpreter.LoaderInfo) (interprete return nil, err } log.Debugf("file %s detected as go version %s", info.FileName(), goVersion) + majorMinor := goMajorMinorRegex.FindString(goVersion) + if majorMinor == "" { + return nil, fmt.Errorf("failed to parse go version %s into goM.mm", goVersion) + } - offsets, ok := allOffsets[goVersion] + offsets, ok := allOffsets[majorMinor] if !ok { - return nil, fmt.Errorf("no offsets found for go version %s", goVersion) + // Info instead of warn: this is often going to be fine, + // as the offsets tend not to change every release cycle. + // + // TODO: Reword the message if we upstream this, + // since it mentions `parca-agent` by name. + log.Infof("version %s unknown; using offsets for latest known Go version %s."+ + "If Go traceID integration and other custom labels support is buggy,"+ + " try upgrading parca-agent to the latest version.", goVersion, defaultVersion) + return data{ + goVersion: goVersion, + offsets: allOffsets[defaultVersion], + }, nil } return data{ diff --git a/interpreter/golang/runtime_data.go b/interpreter/golang/runtime_data.go index bcd16ea7..368e9df5 100644 --- a/interpreter/golang/runtime_data.go +++ b/interpreter/golang/runtime_data.go @@ -4,6 +4,10 @@ package golang // #include "../../support/ebpf/types.h" import "C" +// defaultVersion is used if the go binary has an unrecognized major+minor version. +// Consider bumping this whenever a new version of Go is released. +var defaultVersion = "go1.23" + var allOffsets = map[string]C.GoCustomLabelsOffsets{ "go1.11": { m_offset: 48, @@ -13,110 +17,6 @@ var allOffsets = map[string]C.GoCustomLabelsOffsets{ hmap_log2_bucket_count: 9, hmap_buckets: 16, }, - "go1.11.1": { - m_offset: 48, - curg: 192, - labels: 344, - hmap_count: 0, - hmap_log2_bucket_count: 9, - hmap_buckets: 16, - }, - "go1.11.2": { - m_offset: 48, - curg: 192, - labels: 344, - hmap_count: 0, - hmap_log2_bucket_count: 9, - hmap_buckets: 16, - }, - "go1.11.3": { - m_offset: 48, - curg: 192, - labels: 344, - hmap_count: 0, - hmap_log2_bucket_count: 9, - hmap_buckets: 16, - }, - "go1.11.4": { - m_offset: 48, - curg: 192, - labels: 344, - hmap_count: 0, - hmap_log2_bucket_count: 9, - hmap_buckets: 16, - }, - "go1.11.5": { - m_offset: 48, - curg: 192, - labels: 344, - hmap_count: 0, - hmap_log2_bucket_count: 9, - hmap_buckets: 16, - }, - "go1.11.6": { - m_offset: 48, - curg: 192, - labels: 344, - hmap_count: 0, - hmap_log2_bucket_count: 9, - hmap_buckets: 16, - }, - "go1.11.7": { - m_offset: 48, - curg: 192, - labels: 344, - hmap_count: 0, - hmap_log2_bucket_count: 9, - hmap_buckets: 16, - }, - "go1.11.8": { - m_offset: 48, - curg: 192, - labels: 344, - hmap_count: 0, - hmap_log2_bucket_count: 9, - hmap_buckets: 16, - }, - "go1.11.9": { - m_offset: 48, - curg: 192, - labels: 344, - hmap_count: 0, - hmap_log2_bucket_count: 9, - hmap_buckets: 16, - }, - "go1.11.10": { - m_offset: 48, - curg: 192, - labels: 344, - hmap_count: 0, - hmap_log2_bucket_count: 9, - hmap_buckets: 16, - }, - "go1.11.11": { - m_offset: 48, - curg: 192, - labels: 344, - hmap_count: 0, - hmap_log2_bucket_count: 9, - hmap_buckets: 16, - }, - "go1.11.12": { - m_offset: 48, - curg: 192, - labels: 344, - hmap_count: 0, - hmap_log2_bucket_count: 9, - hmap_buckets: 16, - }, - "go1.11.13": { - m_offset: 48, - curg: 192, - labels: 344, - hmap_count: 0, - hmap_log2_bucket_count: 9, - hmap_buckets: 16, - }, "go1.12": { m_offset: 48, curg: 192, @@ -125,142 +25,6 @@ var allOffsets = map[string]C.GoCustomLabelsOffsets{ hmap_log2_bucket_count: 9, hmap_buckets: 16, }, - "go1.12.1": { - m_offset: 48, - curg: 192, - labels: 344, - hmap_count: 0, - hmap_log2_bucket_count: 9, - hmap_buckets: 16, - }, - "go1.12.2": { - m_offset: 48, - curg: 192, - labels: 344, - hmap_count: 0, - hmap_log2_bucket_count: 9, - hmap_buckets: 16, - }, - "go1.12.3": { - m_offset: 48, - curg: 192, - labels: 344, - hmap_count: 0, - hmap_log2_bucket_count: 9, - hmap_buckets: 16, - }, - "go1.12.4": { - m_offset: 48, - curg: 192, - labels: 344, - hmap_count: 0, - hmap_log2_bucket_count: 9, - hmap_buckets: 16, - }, - "go1.12.5": { - m_offset: 48, - curg: 192, - labels: 344, - hmap_count: 0, - hmap_log2_bucket_count: 9, - hmap_buckets: 16, - }, - "go1.12.6": { - m_offset: 48, - curg: 192, - labels: 344, - hmap_count: 0, - hmap_log2_bucket_count: 9, - hmap_buckets: 16, - }, - "go1.12.7": { - m_offset: 48, - curg: 192, - labels: 344, - hmap_count: 0, - hmap_log2_bucket_count: 9, - hmap_buckets: 16, - }, - "go1.12.8": { - m_offset: 48, - curg: 192, - labels: 344, - hmap_count: 0, - hmap_log2_bucket_count: 9, - hmap_buckets: 16, - }, - "go1.12.9": { - m_offset: 48, - curg: 192, - labels: 344, - hmap_count: 0, - hmap_log2_bucket_count: 9, - hmap_buckets: 16, - }, - "go1.12.10": { - m_offset: 48, - curg: 192, - labels: 344, - hmap_count: 0, - hmap_log2_bucket_count: 9, - hmap_buckets: 16, - }, - "go1.12.11": { - m_offset: 48, - curg: 192, - labels: 344, - hmap_count: 0, - hmap_log2_bucket_count: 9, - hmap_buckets: 16, - }, - "go1.12.12": { - m_offset: 48, - curg: 192, - labels: 344, - hmap_count: 0, - hmap_log2_bucket_count: 9, - hmap_buckets: 16, - }, - "go1.12.13": { - m_offset: 48, - curg: 192, - labels: 344, - hmap_count: 0, - hmap_log2_bucket_count: 9, - hmap_buckets: 16, - }, - "go1.12.14": { - m_offset: 48, - curg: 192, - labels: 344, - hmap_count: 0, - hmap_log2_bucket_count: 9, - hmap_buckets: 16, - }, - "go1.12.15": { - m_offset: 48, - curg: 192, - labels: 344, - hmap_count: 0, - hmap_log2_bucket_count: 9, - hmap_buckets: 16, - }, - "go1.12.16": { - m_offset: 48, - curg: 192, - labels: 344, - hmap_count: 0, - hmap_log2_bucket_count: 9, - hmap_buckets: 16, - }, - "go1.12.17": { - m_offset: 48, - curg: 192, - labels: 344, - hmap_count: 0, - hmap_log2_bucket_count: 9, - hmap_buckets: 16, - }, "go1.13": { m_offset: 48, curg: 192, @@ -269,39 +33,7 @@ var allOffsets = map[string]C.GoCustomLabelsOffsets{ hmap_log2_bucket_count: 9, hmap_buckets: 16, }, - "go1.13.1": { - m_offset: 48, - curg: 192, - labels: 344, - hmap_count: 0, - hmap_log2_bucket_count: 9, - hmap_buckets: 16, - }, - "go1.13.2": { - m_offset: 48, - curg: 192, - labels: 344, - hmap_count: 0, - hmap_log2_bucket_count: 9, - hmap_buckets: 16, - }, - "go1.13.3": { - m_offset: 48, - curg: 192, - labels: 344, - hmap_count: 0, - hmap_log2_bucket_count: 9, - hmap_buckets: 16, - }, - "go1.13.4": { - m_offset: 48, - curg: 192, - labels: 344, - hmap_count: 0, - hmap_log2_bucket_count: 9, - hmap_buckets: 16, - }, - "go1.13.5": { + "go1.14": { m_offset: 48, curg: 192, labels: 344, @@ -309,7 +41,7 @@ var allOffsets = map[string]C.GoCustomLabelsOffsets{ hmap_log2_bucket_count: 9, hmap_buckets: 16, }, - "go1.13.6": { + "go1.15": { m_offset: 48, curg: 192, labels: 344, @@ -317,7 +49,7 @@ var allOffsets = map[string]C.GoCustomLabelsOffsets{ hmap_log2_bucket_count: 9, hmap_buckets: 16, }, - "go1.13.7": { + "go1.16": { m_offset: 48, curg: 192, labels: 344, @@ -325,879 +57,31 @@ var allOffsets = map[string]C.GoCustomLabelsOffsets{ hmap_log2_bucket_count: 9, hmap_buckets: 16, }, - "go1.13.8": { + "go1.17": { m_offset: 48, curg: 192, - labels: 344, + labels: 360, hmap_count: 0, hmap_log2_bucket_count: 9, hmap_buckets: 16, }, - "go1.13.9": { + "go1.18": { m_offset: 48, curg: 192, - labels: 344, + labels: 360, hmap_count: 0, hmap_log2_bucket_count: 9, hmap_buckets: 16, }, - "go1.13.10": { + "go1.19": { m_offset: 48, curg: 192, - labels: 344, + labels: 360, hmap_count: 0, hmap_log2_bucket_count: 9, hmap_buckets: 16, }, - "go1.13.11": { - m_offset: 48, - curg: 192, - labels: 344, - hmap_count: 0, - hmap_log2_bucket_count: 9, - hmap_buckets: 16, - }, - "go1.13.12": { - m_offset: 48, - curg: 192, - labels: 344, - hmap_count: 0, - hmap_log2_bucket_count: 9, - hmap_buckets: 16, - }, - "go1.13.13": { - m_offset: 48, - curg: 192, - labels: 344, - hmap_count: 0, - hmap_log2_bucket_count: 9, - hmap_buckets: 16, - }, - "go1.13.14": { - m_offset: 48, - curg: 192, - labels: 344, - hmap_count: 0, - hmap_log2_bucket_count: 9, - hmap_buckets: 16, - }, - "go1.13.15": { - m_offset: 48, - curg: 192, - labels: 344, - hmap_count: 0, - hmap_log2_bucket_count: 9, - hmap_buckets: 16, - }, - "go1.14": { - m_offset: 48, - curg: 192, - labels: 344, - hmap_count: 0, - hmap_log2_bucket_count: 9, - hmap_buckets: 16, - }, - "go1.14.1": { - m_offset: 48, - curg: 192, - labels: 344, - hmap_count: 0, - hmap_log2_bucket_count: 9, - hmap_buckets: 16, - }, - "go1.14.2": { - m_offset: 48, - curg: 192, - labels: 344, - hmap_count: 0, - hmap_log2_bucket_count: 9, - hmap_buckets: 16, - }, - "go1.14.3": { - m_offset: 48, - curg: 192, - labels: 344, - hmap_count: 0, - hmap_log2_bucket_count: 9, - hmap_buckets: 16, - }, - "go1.14.4": { - m_offset: 48, - curg: 192, - labels: 344, - hmap_count: 0, - hmap_log2_bucket_count: 9, - hmap_buckets: 16, - }, - "go1.14.5": { - m_offset: 48, - curg: 192, - labels: 344, - hmap_count: 0, - hmap_log2_bucket_count: 9, - hmap_buckets: 16, - }, - "go1.14.6": { - m_offset: 48, - curg: 192, - labels: 344, - hmap_count: 0, - hmap_log2_bucket_count: 9, - hmap_buckets: 16, - }, - "go1.14.7": { - m_offset: 48, - curg: 192, - labels: 344, - hmap_count: 0, - hmap_log2_bucket_count: 9, - hmap_buckets: 16, - }, - "go1.14.8": { - m_offset: 48, - curg: 192, - labels: 344, - hmap_count: 0, - hmap_log2_bucket_count: 9, - hmap_buckets: 16, - }, - "go1.14.9": { - m_offset: 48, - curg: 192, - labels: 344, - hmap_count: 0, - hmap_log2_bucket_count: 9, - hmap_buckets: 16, - }, - "go1.14.10": { - m_offset: 48, - curg: 192, - labels: 344, - hmap_count: 0, - hmap_log2_bucket_count: 9, - hmap_buckets: 16, - }, - "go1.14.11": { - m_offset: 48, - curg: 192, - labels: 344, - hmap_count: 0, - hmap_log2_bucket_count: 9, - hmap_buckets: 16, - }, - "go1.14.12": { - m_offset: 48, - curg: 192, - labels: 344, - hmap_count: 0, - hmap_log2_bucket_count: 9, - hmap_buckets: 16, - }, - "go1.14.13": { - m_offset: 48, - curg: 192, - labels: 344, - hmap_count: 0, - hmap_log2_bucket_count: 9, - hmap_buckets: 16, - }, - "go1.14.14": { - m_offset: 48, - curg: 192, - labels: 344, - hmap_count: 0, - hmap_log2_bucket_count: 9, - hmap_buckets: 16, - }, - "go1.14.15": { - m_offset: 48, - curg: 192, - labels: 344, - hmap_count: 0, - hmap_log2_bucket_count: 9, - hmap_buckets: 16, - }, - "go1.15": { - m_offset: 48, - curg: 192, - labels: 344, - hmap_count: 0, - hmap_log2_bucket_count: 9, - hmap_buckets: 16, - }, - "go1.15.1": { - m_offset: 48, - curg: 192, - labels: 344, - hmap_count: 0, - hmap_log2_bucket_count: 9, - hmap_buckets: 16, - }, - "go1.15.2": { - m_offset: 48, - curg: 192, - labels: 344, - hmap_count: 0, - hmap_log2_bucket_count: 9, - hmap_buckets: 16, - }, - "go1.15.3": { - m_offset: 48, - curg: 192, - labels: 344, - hmap_count: 0, - hmap_log2_bucket_count: 9, - hmap_buckets: 16, - }, - "go1.15.4": { - m_offset: 48, - curg: 192, - labels: 344, - hmap_count: 0, - hmap_log2_bucket_count: 9, - hmap_buckets: 16, - }, - "go1.15.5": { - m_offset: 48, - curg: 192, - labels: 344, - hmap_count: 0, - hmap_log2_bucket_count: 9, - hmap_buckets: 16, - }, - "go1.15.6": { - m_offset: 48, - curg: 192, - labels: 344, - hmap_count: 0, - hmap_log2_bucket_count: 9, - hmap_buckets: 16, - }, - "go1.15.7": { - m_offset: 48, - curg: 192, - labels: 344, - hmap_count: 0, - hmap_log2_bucket_count: 9, - hmap_buckets: 16, - }, - "go1.15.8": { - m_offset: 48, - curg: 192, - labels: 344, - hmap_count: 0, - hmap_log2_bucket_count: 9, - hmap_buckets: 16, - }, - "go1.15.9": { - m_offset: 48, - curg: 192, - labels: 344, - hmap_count: 0, - hmap_log2_bucket_count: 9, - hmap_buckets: 16, - }, - "go1.15.10": { - m_offset: 48, - curg: 192, - labels: 344, - hmap_count: 0, - hmap_log2_bucket_count: 9, - hmap_buckets: 16, - }, - "go1.15.11": { - m_offset: 48, - curg: 192, - labels: 344, - hmap_count: 0, - hmap_log2_bucket_count: 9, - hmap_buckets: 16, - }, - "go1.15.12": { - m_offset: 48, - curg: 192, - labels: 344, - hmap_count: 0, - hmap_log2_bucket_count: 9, - hmap_buckets: 16, - }, - "go1.15.13": { - m_offset: 48, - curg: 192, - labels: 344, - hmap_count: 0, - hmap_log2_bucket_count: 9, - hmap_buckets: 16, - }, - "go1.15.14": { - m_offset: 48, - curg: 192, - labels: 344, - hmap_count: 0, - hmap_log2_bucket_count: 9, - hmap_buckets: 16, - }, - "go1.15.15": { - m_offset: 48, - curg: 192, - labels: 344, - hmap_count: 0, - hmap_log2_bucket_count: 9, - hmap_buckets: 16, - }, - "go1.16": { - m_offset: 48, - curg: 192, - labels: 344, - hmap_count: 0, - hmap_log2_bucket_count: 9, - hmap_buckets: 16, - }, - "go1.16.1": { - m_offset: 48, - curg: 192, - labels: 344, - hmap_count: 0, - hmap_log2_bucket_count: 9, - hmap_buckets: 16, - }, - "go1.16.2": { - m_offset: 48, - curg: 192, - labels: 344, - hmap_count: 0, - hmap_log2_bucket_count: 9, - hmap_buckets: 16, - }, - "go1.16.3": { - m_offset: 48, - curg: 192, - labels: 344, - hmap_count: 0, - hmap_log2_bucket_count: 9, - hmap_buckets: 16, - }, - "go1.16.4": { - m_offset: 48, - curg: 192, - labels: 344, - hmap_count: 0, - hmap_log2_bucket_count: 9, - hmap_buckets: 16, - }, - "go1.16.5": { - m_offset: 48, - curg: 192, - labels: 344, - hmap_count: 0, - hmap_log2_bucket_count: 9, - hmap_buckets: 16, - }, - "go1.16.6": { - m_offset: 48, - curg: 192, - labels: 344, - hmap_count: 0, - hmap_log2_bucket_count: 9, - hmap_buckets: 16, - }, - "go1.16.7": { - m_offset: 48, - curg: 192, - labels: 344, - hmap_count: 0, - hmap_log2_bucket_count: 9, - hmap_buckets: 16, - }, - "go1.16.8": { - m_offset: 48, - curg: 192, - labels: 344, - hmap_count: 0, - hmap_log2_bucket_count: 9, - hmap_buckets: 16, - }, - "go1.16.9": { - m_offset: 48, - curg: 192, - labels: 344, - hmap_count: 0, - hmap_log2_bucket_count: 9, - hmap_buckets: 16, - }, - "go1.16.10": { - m_offset: 48, - curg: 192, - labels: 344, - hmap_count: 0, - hmap_log2_bucket_count: 9, - hmap_buckets: 16, - }, - "go1.16.11": { - m_offset: 48, - curg: 192, - labels: 344, - hmap_count: 0, - hmap_log2_bucket_count: 9, - hmap_buckets: 16, - }, - "go1.16.12": { - m_offset: 48, - curg: 192, - labels: 344, - hmap_count: 0, - hmap_log2_bucket_count: 9, - hmap_buckets: 16, - }, - "go1.16.13": { - m_offset: 48, - curg: 192, - labels: 344, - hmap_count: 0, - hmap_log2_bucket_count: 9, - hmap_buckets: 16, - }, - "go1.16.14": { - m_offset: 48, - curg: 192, - labels: 344, - hmap_count: 0, - hmap_log2_bucket_count: 9, - hmap_buckets: 16, - }, - "go1.16.15": { - m_offset: 48, - curg: 192, - labels: 344, - hmap_count: 0, - hmap_log2_bucket_count: 9, - hmap_buckets: 16, - }, - "go1.17": { - m_offset: 48, - curg: 192, - labels: 360, - hmap_count: 0, - hmap_log2_bucket_count: 9, - hmap_buckets: 16, - }, - "go1.17.1": { - m_offset: 48, - curg: 192, - labels: 360, - hmap_count: 0, - hmap_log2_bucket_count: 9, - hmap_buckets: 16, - }, - "go1.17.2": { - m_offset: 48, - curg: 192, - labels: 360, - hmap_count: 0, - hmap_log2_bucket_count: 9, - hmap_buckets: 16, - }, - "go1.17.3": { - m_offset: 48, - curg: 192, - labels: 360, - hmap_count: 0, - hmap_log2_bucket_count: 9, - hmap_buckets: 16, - }, - "go1.17.4": { - m_offset: 48, - curg: 192, - labels: 360, - hmap_count: 0, - hmap_log2_bucket_count: 9, - hmap_buckets: 16, - }, - "go1.17.5": { - m_offset: 48, - curg: 192, - labels: 360, - hmap_count: 0, - hmap_log2_bucket_count: 9, - hmap_buckets: 16, - }, - "go1.17.6": { - m_offset: 48, - curg: 192, - labels: 360, - hmap_count: 0, - hmap_log2_bucket_count: 9, - hmap_buckets: 16, - }, - "go1.17.7": { - m_offset: 48, - curg: 192, - labels: 360, - hmap_count: 0, - hmap_log2_bucket_count: 9, - hmap_buckets: 16, - }, - "go1.17.8": { - m_offset: 48, - curg: 192, - labels: 360, - hmap_count: 0, - hmap_log2_bucket_count: 9, - hmap_buckets: 16, - }, - "go1.17.9": { - m_offset: 48, - curg: 192, - labels: 360, - hmap_count: 0, - hmap_log2_bucket_count: 9, - hmap_buckets: 16, - }, - "go1.17.10": { - m_offset: 48, - curg: 192, - labels: 360, - hmap_count: 0, - hmap_log2_bucket_count: 9, - hmap_buckets: 16, - }, - "go1.17.11": { - m_offset: 48, - curg: 192, - labels: 360, - hmap_count: 0, - hmap_log2_bucket_count: 9, - hmap_buckets: 16, - }, - "go1.17.12": { - m_offset: 48, - curg: 192, - labels: 360, - hmap_count: 0, - hmap_log2_bucket_count: 9, - hmap_buckets: 16, - }, - "go1.17.13": { - m_offset: 48, - curg: 192, - labels: 360, - hmap_count: 0, - hmap_log2_bucket_count: 9, - hmap_buckets: 16, - }, - "go1.18": { - m_offset: 48, - curg: 192, - labels: 360, - hmap_count: 0, - hmap_log2_bucket_count: 9, - hmap_buckets: 16, - }, - "go1.18.1": { - m_offset: 48, - curg: 192, - labels: 360, - hmap_count: 0, - hmap_log2_bucket_count: 9, - hmap_buckets: 16, - }, - "go1.18.2": { - m_offset: 48, - curg: 192, - labels: 360, - hmap_count: 0, - hmap_log2_bucket_count: 9, - hmap_buckets: 16, - }, - "go1.18.3": { - m_offset: 48, - curg: 192, - labels: 360, - hmap_count: 0, - hmap_log2_bucket_count: 9, - hmap_buckets: 16, - }, - "go1.18.4": { - m_offset: 48, - curg: 192, - labels: 360, - hmap_count: 0, - hmap_log2_bucket_count: 9, - hmap_buckets: 16, - }, - "go1.18.5": { - m_offset: 48, - curg: 192, - labels: 360, - hmap_count: 0, - hmap_log2_bucket_count: 9, - hmap_buckets: 16, - }, - "go1.18.6": { - m_offset: 48, - curg: 192, - labels: 360, - hmap_count: 0, - hmap_log2_bucket_count: 9, - hmap_buckets: 16, - }, - "go1.18.7": { - m_offset: 48, - curg: 192, - labels: 360, - hmap_count: 0, - hmap_log2_bucket_count: 9, - hmap_buckets: 16, - }, - "go1.18.8": { - m_offset: 48, - curg: 192, - labels: 360, - hmap_count: 0, - hmap_log2_bucket_count: 9, - hmap_buckets: 16, - }, - "go1.18.9": { - m_offset: 48, - curg: 192, - labels: 360, - hmap_count: 0, - hmap_log2_bucket_count: 9, - hmap_buckets: 16, - }, - "go1.18.10": { - m_offset: 48, - curg: 192, - labels: 360, - hmap_count: 0, - hmap_log2_bucket_count: 9, - hmap_buckets: 16, - }, - "go1.19": { - m_offset: 48, - curg: 192, - labels: 360, - hmap_count: 0, - hmap_log2_bucket_count: 9, - hmap_buckets: 16, - }, - "go1.19.1": { - m_offset: 48, - curg: 192, - labels: 360, - hmap_count: 0, - hmap_log2_bucket_count: 9, - hmap_buckets: 16, - }, - "go1.19.2": { - m_offset: 48, - curg: 192, - labels: 360, - hmap_count: 0, - hmap_log2_bucket_count: 9, - hmap_buckets: 16, - }, - "go1.19.3": { - m_offset: 48, - curg: 192, - labels: 360, - hmap_count: 0, - hmap_log2_bucket_count: 9, - hmap_buckets: 16, - }, - "go1.19.4": { - m_offset: 48, - curg: 192, - labels: 360, - hmap_count: 0, - hmap_log2_bucket_count: 9, - hmap_buckets: 16, - }, - "go1.19.5": { - m_offset: 48, - curg: 192, - labels: 360, - hmap_count: 0, - hmap_log2_bucket_count: 9, - hmap_buckets: 16, - }, - "go1.19.6": { - m_offset: 48, - curg: 192, - labels: 360, - hmap_count: 0, - hmap_log2_bucket_count: 9, - hmap_buckets: 16, - }, - "go1.19.7": { - m_offset: 48, - curg: 192, - labels: 360, - hmap_count: 0, - hmap_log2_bucket_count: 9, - hmap_buckets: 16, - }, - "go1.19.8": { - m_offset: 48, - curg: 192, - labels: 360, - hmap_count: 0, - hmap_log2_bucket_count: 9, - hmap_buckets: 16, - }, - "go1.19.9": { - m_offset: 48, - curg: 192, - labels: 360, - hmap_count: 0, - hmap_log2_bucket_count: 9, - hmap_buckets: 16, - }, - "go1.19.10": { - m_offset: 48, - curg: 192, - labels: 360, - hmap_count: 0, - hmap_log2_bucket_count: 9, - hmap_buckets: 16, - }, - "go1.19.11": { - m_offset: 48, - curg: 192, - labels: 360, - hmap_count: 0, - hmap_log2_bucket_count: 9, - hmap_buckets: 16, - }, - "go1.19.12": { - m_offset: 48, - curg: 192, - labels: 360, - hmap_count: 0, - hmap_log2_bucket_count: 9, - hmap_buckets: 16, - }, - "go1.19.13": { - m_offset: 48, - curg: 192, - labels: 360, - hmap_count: 0, - hmap_log2_bucket_count: 9, - hmap_buckets: 16, - }, - "go1.20": { - m_offset: 48, - curg: 192, - labels: 360, - hmap_count: 0, - hmap_log2_bucket_count: 9, - hmap_buckets: 16, - }, - "go1.20.1": { - m_offset: 48, - curg: 192, - labels: 360, - hmap_count: 0, - hmap_log2_bucket_count: 9, - hmap_buckets: 16, - }, - "go1.20.2": { - m_offset: 48, - curg: 192, - labels: 360, - hmap_count: 0, - hmap_log2_bucket_count: 9, - hmap_buckets: 16, - }, - "go1.20.3": { - m_offset: 48, - curg: 192, - labels: 360, - hmap_count: 0, - hmap_log2_bucket_count: 9, - hmap_buckets: 16, - }, - "go1.20.4": { - m_offset: 48, - curg: 192, - labels: 360, - hmap_count: 0, - hmap_log2_bucket_count: 9, - hmap_buckets: 16, - }, - "go1.20.5": { - m_offset: 48, - curg: 192, - labels: 360, - hmap_count: 0, - hmap_log2_bucket_count: 9, - hmap_buckets: 16, - }, - "go1.20.6": { - m_offset: 48, - curg: 192, - labels: 360, - hmap_count: 0, - hmap_log2_bucket_count: 9, - hmap_buckets: 16, - }, - "go1.20.7": { - m_offset: 48, - curg: 192, - labels: 360, - hmap_count: 0, - hmap_log2_bucket_count: 9, - hmap_buckets: 16, - }, - "go1.20.8": { - m_offset: 48, - curg: 192, - labels: 360, - hmap_count: 0, - hmap_log2_bucket_count: 9, - hmap_buckets: 16, - }, - "go1.20.9": { - m_offset: 48, - curg: 192, - labels: 360, - hmap_count: 0, - hmap_log2_bucket_count: 9, - hmap_buckets: 16, - }, - "go1.20.10": { - m_offset: 48, - curg: 192, - labels: 360, - hmap_count: 0, - hmap_log2_bucket_count: 9, - hmap_buckets: 16, - }, - "go1.20.11": { - m_offset: 48, - curg: 192, - labels: 360, - hmap_count: 0, - hmap_log2_bucket_count: 9, - hmap_buckets: 16, - }, - "go1.20.12": { - m_offset: 48, - curg: 192, - labels: 360, - hmap_count: 0, - hmap_log2_bucket_count: 9, - hmap_buckets: 16, - }, - "go1.20.13": { - m_offset: 48, - curg: 192, - labels: 360, - hmap_count: 0, - hmap_log2_bucket_count: 9, - hmap_buckets: 16, - }, - "go1.20.14": { + "go1.20": { m_offset: 48, curg: 192, labels: 360, @@ -1205,151 +89,7 @@ var allOffsets = map[string]C.GoCustomLabelsOffsets{ hmap_log2_bucket_count: 9, hmap_buckets: 16, }, - "go1.21.0": { - m_offset: 48, - curg: 192, - labels: 344, - hmap_count: 0, - hmap_log2_bucket_count: 9, - hmap_buckets: 16, - }, - "go1.21.1": { - m_offset: 48, - curg: 192, - labels: 344, - hmap_count: 0, - hmap_log2_bucket_count: 9, - hmap_buckets: 16, - }, - "go1.21.2": { - m_offset: 48, - curg: 192, - labels: 344, - hmap_count: 0, - hmap_log2_bucket_count: 9, - hmap_buckets: 16, - }, - "go1.21.3": { - m_offset: 48, - curg: 192, - labels: 344, - hmap_count: 0, - hmap_log2_bucket_count: 9, - hmap_buckets: 16, - }, - "go1.21.4": { - m_offset: 48, - curg: 192, - labels: 344, - hmap_count: 0, - hmap_log2_bucket_count: 9, - hmap_buckets: 16, - }, - "go1.21.5": { - m_offset: 48, - curg: 192, - labels: 344, - hmap_count: 0, - hmap_log2_bucket_count: 9, - hmap_buckets: 16, - }, - "go1.21.6": { - m_offset: 48, - curg: 192, - labels: 344, - hmap_count: 0, - hmap_log2_bucket_count: 9, - hmap_buckets: 16, - }, - "go1.21.7": { - m_offset: 48, - curg: 192, - labels: 344, - hmap_count: 0, - hmap_log2_bucket_count: 9, - hmap_buckets: 16, - }, - "go1.21.8": { - m_offset: 48, - curg: 192, - labels: 344, - hmap_count: 0, - hmap_log2_bucket_count: 9, - hmap_buckets: 16, - }, - "go1.21.9": { - m_offset: 48, - curg: 192, - labels: 344, - hmap_count: 0, - hmap_log2_bucket_count: 9, - hmap_buckets: 16, - }, - "go1.21.10": { - m_offset: 48, - curg: 192, - labels: 344, - hmap_count: 0, - hmap_log2_bucket_count: 9, - hmap_buckets: 16, - }, - "go1.21.11": { - m_offset: 48, - curg: 192, - labels: 344, - hmap_count: 0, - hmap_log2_bucket_count: 9, - hmap_buckets: 16, - }, - "go1.21.12": { - m_offset: 48, - curg: 192, - labels: 344, - hmap_count: 0, - hmap_log2_bucket_count: 9, - hmap_buckets: 16, - }, - "go1.22.0": { - m_offset: 48, - curg: 192, - labels: 344, - hmap_count: 0, - hmap_log2_bucket_count: 9, - hmap_buckets: 16, - }, - "go1.22.1": { - m_offset: 48, - curg: 192, - labels: 344, - hmap_count: 0, - hmap_log2_bucket_count: 9, - hmap_buckets: 16, - }, - "go1.22.2": { - m_offset: 48, - curg: 192, - labels: 344, - hmap_count: 0, - hmap_log2_bucket_count: 9, - hmap_buckets: 16, - }, - "go1.22.3": { - m_offset: 48, - curg: 192, - labels: 344, - hmap_count: 0, - hmap_log2_bucket_count: 9, - hmap_buckets: 16, - }, - "go1.22.4": { - m_offset: 48, - curg: 192, - labels: 344, - hmap_count: 0, - hmap_log2_bucket_count: 9, - hmap_buckets: 16, - }, - "go1.22.5": { + "go1.21": { m_offset: 48, curg: 192, labels: 344, @@ -1357,7 +97,7 @@ var allOffsets = map[string]C.GoCustomLabelsOffsets{ hmap_log2_bucket_count: 9, hmap_buckets: 16, }, - "go1.22.6": { + "go1.22": { m_offset: 48, curg: 192, labels: 344, @@ -1365,7 +105,7 @@ var allOffsets = map[string]C.GoCustomLabelsOffsets{ hmap_log2_bucket_count: 9, hmap_buckets: 16, }, - "go1.23.0": { + "go1.23": { m_offset: 48, curg: 192, labels: 352,