feat: tracing skill - #72
Draft
helleengebakken wants to merge 14 commits into
Draft
Conversation
Traces land in the shared host project (ent-kub-<env>), and IAM roles plus required APIs are provisioned automatically via the common Helm chart -- remove the manual Terraform steps, the Cloud Trace storage console prerequisite, and the ent-<app>-<env> project references that contradicted this. Trim runtime env vars to just the sampler, matching tracing.md, and add its calls-per-minute sampling ratio table.
Scenario 29 read skills/setup-tracing-go/SKILL.md to compare its behavior against setup-tracing-java, but the Go skill was removed -- the file it depended on no longer exists.
…-path update - 28-tracing-iam-least-privilege.md tested a manual roles/cloudtrace.agent grant that setup-tracing-java no longer performs -- IAM is now provisioned automatically via the common Helm chart. - 17-trace-project-routing.md asserted the old app-project (ent-<app>-<env>) trace routing model by reading guides/reference/tracing.md directly, which still documents that old model on this branch and now contradicts the updated skill. Removed rather than updated since the reference doc it depends on hasn't been synced yet.
…tighten cloud-logging version check - Merge tracing agent flags into the existing ENTRYPOINT instead of assuming a CMD-based single-jar launch -- Entur's Docker golden path (docker.md) always launches the JVM via ENTRYPOINT, for both the preferred layered-JAR pattern and the single-jar Alpine alternative. - Require entur/cloud-logging v7.1.0+ explicitly (earlier versions don't inject trace/span fields), and add the missing unhappy path: point to logging.md when cloud-logging is missing or too old, and flag the Spring Boot 4.1.x dependency that comes with it. - Tighten the skill's scope to Spring Boot specifically, with an explicit check before proceeding, since the rest of the skill (log correlation) only works for Spring Boot services. - Link the Cloud Profiler critical rule to profiler.md instead of leaving it as a dangling reference. - Update test scenario 30 to match the ENTRYPOINT-based guidance.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
feat: add setup-tracing skill for OpenTelemetry/Cloud Trace instrumentation
Summary
setup-tracingskill that walks an agent through Entur's tracing golden path: confirm language + that Cloud Trace storage is already enabled (a console-only prerequisite) → Terraform API/IAM → instrument (OpenTelemetry Java Agent for Kotlin/Java, manual OpenTelemetry SDK for Go) → runtime env vars → log/trace correlation → hand off verification to the user (requires a live deploy, which is outside what this skill can do) based on this [How-To Initialise Distributed Tracing](https://entur.atlassian.net/wiki/spaces/ESP/pages/6607110165/How To+Initialise+Distributed+Tracing).plugins/setup-tracing/, marketplace entry in.claude plugin/marketplace.json) and adds it to theskills/README.mdcatalogue, matching every other skill in this repo.tests/scenarios/28-30) covering the rules most likely to get silently violated: IAM least privilege (roles/cloudtrace.agentonly), Java Agent as the Kotlin/Java default vs. Go's manual SDK, and the single-CMD-per-Dockerfile trap when Cloud Profiler is already wired in.Test plan
cd tests && go run . --dry-run --scenario "*tracing*"— all three scenarios parse correctly, no API callsnpm run lint:md— handled automatically by CI's markdown-lint job on this PR