open-telemetry
opentelemetry-go-compile-instrumentation
Blog
Docs
Changelog
Blog
Docs
Changelog
Overview
Branches
Benchmarks
Runs
Performance History
Latest Results
feat(tool): add support for customizable injection in InstRawRule with pattern matching (#450) ## Description - `pattern` (string, optional): The position within the function where the raw code should be injected. By default, the code is injected at the start of the function body. If provided, the value must be a valid regular expression. The pattern is matched against the canonical gofmt representation for each statement in the function body (not always the exact original source formatting). The injected code is placed immediately before/after the first statement that matches the pattern. If no statement matches the pattern, an error is returned. - `placement` (string, optional): Determines where to inject the raw code when a `pattern` is specified. Can be either `before` (default) or `after`. ## Motivation It helps customize injection point for raw code inside functions. Fixes #324 --- ## Checklist - [x] PR title follows [conventional commits](https://www.conventionalcommits.org/) format - [x] Code formatted: `make format` - [x] Linters pass: `make lint` - [x] Tests pass: `make test` - [x] Tests added for new functionality - [x] Tests follow [testing guidelines](docs/testing.md) - [x] Documentation updated (if applicable) Co-authored-by: Kemal Akkoyun <kakkoyun@users.noreply.github.com>
main
22 hours ago
feat(tool): add join point filter interface (#377) ## Description Adopts the 2-tier \`where\`/\`do\` rule schema agreed in the design discussion on this PR. This is branch 0 of the OP4 stack (#381–#386). Top-level \`target\` + \`version\` scope the package. \`where\` carries all non-package selectors (point selectors + \`where.file\` for file-level predicates; implicit \`all-of\` at the top, with \`one-of\`/\`not\` as named sub-groups). \`do\` carries modifiers, and the modifier name in \`do\` declares the rule type. **What is in this branch:** - \`func\`, \`recv\` (file-level via \`where.file\`), \`struct\` leaf filters implemented - \`all-of\`, \`one-of\`, \`not\` combinators and \`has_directive\` are schema-present but return descriptive errors at runtime (wired up in follow-up PRs #381–#386) - \`normalize\` layer translating structured \`where\`/\`do\` form to the internal flat fields that \`createRuleFromFields\` consumes - Golden fixtures migrated to canonical 2-tier form - [ADR-0003](docs/adr/0003-structured-rule-schema.md) records the decision in Nygard form (Status/Context/Decision/Consequences) - [docs/rules.md](docs/rules.md) contains the full field reference, valid/invalid shape examples, and flat→structured migration guide **Deferred items (not in this PR):** - Target globbing — \`rulesByTarget\` remains exact-match; glob on \`target\` tracked as a follow-up - \`is_test\` / \`test_main\` filters — reserved for a follow-up PR - \`defaults:\` section sugar — deferred to a future iteration - \`import_path\` / \`package_name\` filters — dropped from the stack; single \`*\` on \`target\` deferred Fixes #346 (partial — branch 0 of the stack) --- ## Checklist - [x] PR title follows [conventional commits](https://www.conventionalcommits.org/) format - [x] Code formatted: \`make format\` - [x] Linters pass: \`make lint\` - [x] Tests pass: \`make test\` - [x] Tests added for new functionality - [x] Tests follow [testing guidelines](docs/testing.md) - [x] Documentation updated (if applicable) --------- Signed-off-by: Kemal Akkoyun <kemal.akkoyun@datadoghq.com>
main
2 days ago
feat(setup): warn when no instrumentation rules match (#506) ## Description Emit a warning to stderr when `matchDeps` returns zero matches. Previously, a build with no matching rules would succeed silently — no stdout, no stderr, and the only evidence lived in `debug.log` inside the work directory. Now the user sees: Warning: no instrumentation will be applied ## Motivation Discovered while working on the `--debug` flag fix (#499). Even with debug logging wired up, there's no feedback when rules match nothing — the build just succeeds and produces an uninstrumented binary. This is easy to hit in practice: a typo in a target path, a renamed function, a version range that no longer applies. The user only finds out when traces don't show up in their collector. Fixes #505 --- ## Checklist - [x] PR title follows [conventional commits](https://www.conventionalcommits.org/) format - [x] Code formatted: `make format` - [x] Linters pass: `make lint` - [x] Tests pass: `make test` - [x] Tests added for new functionality - [ ] Tests follow [testing guidelines](docs/testing.md) - [ ] Documentation updated (if applicable) Co-authored-by: Kemal Akkoyun <kakkoyun@users.noreply.github.com>
main
3 days ago
feat(setup): warn when no instrumentation rules match (#506) ## Description Emit a warning to stderr when `matchDeps` returns zero matches. Previously, a build with no matching rules would succeed silently — no stdout, no stderr, and the only evidence lived in `debug.log` inside the work directory. Now the user sees: Warning: no instrumentation will be applied ## Motivation Discovered while working on the `--debug` flag fix (#499). Even with debug logging wired up, there's no feedback when rules match nothing — the build just succeeds and produces an uninstrumented binary. This is easy to hit in practice: a typo in a target path, a renamed function, a version range that no longer applies. The user only finds out when traces don't show up in their collector. Fixes #505 --- ## Checklist - [x] PR title follows [conventional commits](https://www.conventionalcommits.org/) format - [x] Code formatted: `make format` - [x] Linters pass: `make lint` - [x] Tests pass: `make test` - [x] Tests added for new functionality - [ ] Tests follow [testing guidelines](docs/testing.md) - [ ] Documentation updated (if applicable) Co-authored-by: Kemal Akkoyun <kakkoyun@users.noreply.github.com>
main
4 days ago
feat(setup): warn when no instrumentation rules match (#506) ## Description Emit a warning to stderr when `matchDeps` returns zero matches. Previously, a build with no matching rules would succeed silently — no stdout, no stderr, and the only evidence lived in `debug.log` inside the work directory. Now the user sees: Warning: no instrumentation will be applied ## Motivation Discovered while working on the `--debug` flag fix (#499). Even with debug logging wired up, there's no feedback when rules match nothing — the build just succeeds and produces an uninstrumented binary. This is easy to hit in practice: a typo in a target path, a renamed function, a version range that no longer applies. The user only finds out when traces don't show up in their collector. Fixes #505 --- ## Checklist - [x] PR title follows [conventional commits](https://www.conventionalcommits.org/) format - [x] Code formatted: `make format` - [x] Linters pass: `make lint` - [x] Tests pass: `make test` - [x] Tests added for new functionality - [ ] Tests follow [testing guidelines](docs/testing.md) - [ ] Documentation updated (if applicable) Co-authored-by: Kemal Akkoyun <kakkoyun@users.noreply.github.com>
main
5 days ago
feat(setup): warn when no instrumentation rules match (#506) ## Description Emit a warning to stderr when `matchDeps` returns zero matches. Previously, a build with no matching rules would succeed silently — no stdout, no stderr, and the only evidence lived in `debug.log` inside the work directory. Now the user sees: Warning: no instrumentation will be applied ## Motivation Discovered while working on the `--debug` flag fix (#499). Even with debug logging wired up, there's no feedback when rules match nothing — the build just succeeds and produces an uninstrumented binary. This is easy to hit in practice: a typo in a target path, a renamed function, a version range that no longer applies. The user only finds out when traces don't show up in their collector. Fixes #505 --- ## Checklist - [x] PR title follows [conventional commits](https://www.conventionalcommits.org/) format - [x] Code formatted: `make format` - [x] Linters pass: `make lint` - [x] Tests pass: `make test` - [x] Tests added for new functionality - [ ] Tests follow [testing guidelines](docs/testing.md) - [ ] Documentation updated (if applicable) Co-authored-by: Kemal Akkoyun <kakkoyun@users.noreply.github.com>
main
6 days ago
feat(setup): warn when no instrumentation rules match (#506) ## Description Emit a warning to stderr when `matchDeps` returns zero matches. Previously, a build with no matching rules would succeed silently — no stdout, no stderr, and the only evidence lived in `debug.log` inside the work directory. Now the user sees: Warning: no instrumentation will be applied ## Motivation Discovered while working on the `--debug` flag fix (#499). Even with debug logging wired up, there's no feedback when rules match nothing — the build just succeeds and produces an uninstrumented binary. This is easy to hit in practice: a typo in a target path, a renamed function, a version range that no longer applies. The user only finds out when traces don't show up in their collector. Fixes #505 --- ## Checklist - [x] PR title follows [conventional commits](https://www.conventionalcommits.org/) format - [x] Code formatted: `make format` - [x] Linters pass: `make lint` - [x] Tests pass: `make test` - [x] Tests added for new functionality - [ ] Tests follow [testing guidelines](docs/testing.md) - [ ] Documentation updated (if applicable) Co-authored-by: Kemal Akkoyun <kakkoyun@users.noreply.github.com>
main
7 days ago
feat(setup): warn when no instrumentation rules match (#506) ## Description Emit a warning to stderr when `matchDeps` returns zero matches. Previously, a build with no matching rules would succeed silently — no stdout, no stderr, and the only evidence lived in `debug.log` inside the work directory. Now the user sees: Warning: no instrumentation will be applied ## Motivation Discovered while working on the `--debug` flag fix (#499). Even with debug logging wired up, there's no feedback when rules match nothing — the build just succeeds and produces an uninstrumented binary. This is easy to hit in practice: a typo in a target path, a renamed function, a version range that no longer applies. The user only finds out when traces don't show up in their collector. Fixes #505 --- ## Checklist - [x] PR title follows [conventional commits](https://www.conventionalcommits.org/) format - [x] Code formatted: `make format` - [x] Linters pass: `make lint` - [x] Tests pass: `make test` - [x] Tests added for new functionality - [ ] Tests follow [testing guidelines](docs/testing.md) - [ ] Documentation updated (if applicable) Co-authored-by: Kemal Akkoyun <kakkoyun@users.noreply.github.com>
main
8 days ago
Latest Branches
CodSpeed Performance Gauge
+7%
chore(tests): upgrade codspeed version
#524
16 days ago
8a9a0d3
txabman42:upgrade-codspeed
CodSpeed Performance Gauge
N/A
feat(test): add codspeed and refactor benchmark tests
#457
1 month ago
1672cfd
txabman42:xabier/add-codspeed
© 2026 CodSpeed Technology
Home
Terms
Privacy
Docs