Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
86 commits
Select commit Hold shift + click to select a range
494e224
fix(deps): update module golang.org/x/sync to v0.20.0 (#6625)
renovate-sh-app[bot] Mar 8, 2026
a265edc
fix(deps): update module golang.org/x/time to v0.15.0 (#6626)
renovate-sh-app[bot] Mar 8, 2026
ff2f457
chore(deps): lock file maintenance (#6627)
renovate-sh-app[bot] Mar 9, 2026
6e2a5f0
chore(deps): update grafana/writers-toolkit digest to 7cce806 (#6631)
renovate-sh-app[bot] Mar 9, 2026
34987f1
[DOC] Clarify virtual nodes for service graphs in doc (#6563)
knylander-grafana Mar 9, 2026
ea71fe2
[jsonnet] fix live-store arguments to allow extension (#6633)
zalegrala Mar 9, 2026
a34cb99
fix(deps): update opentelemetry-collector (#6635)
renovate-sh-app[bot] Mar 9, 2026
be79018
fix(traceql): err on division by zero (#6580)
Proximyst Mar 9, 2026
49e0506
feat: include trace ID in query-frontend response logs (#6609)
antonio-mazzini Mar 9, 2026
c09bb3c
fix(deps): update opentelemetry-contrib to v0.147.0 (#6636)
renovate-sh-app[bot] Mar 9, 2026
1c0c52a
fix(deps): update opentelemetry-otel to v1.41.0 (#6637)
renovate-sh-app[bot] Mar 9, 2026
d53e9a3
chore(deps): update otel/opentelemetry-collector docker tag to v0.147…
renovate-sh-app[bot] Mar 9, 2026
efefb99
fix(deps): update opentelemetry-contrib to v0.66.0 (#6640)
renovate-sh-app[bot] Mar 9, 2026
0b1c067
feat: add -health flag for Docker healthchecks (#6608)
antonio-mazzini Mar 10, 2026
b68cb4f
[jsonnet]: set the block-builder to follow the live-store scale by de…
zalegrala Mar 10, 2026
28cc78d
Fix bug related to filtering of dedicated columns (#6586)
stoewer Mar 11, 2026
e4fc478
chore(deps): update grafana/writers-toolkit digest to 7b6e457 (#6649)
renovate-sh-app[bot] Mar 11, 2026
143d042
jsonnet: Add emptyDir data volume to block-builder StatefulSet (#6648)
mapno Mar 11, 2026
0c25584
Update default live store flush settings (#6650)
mdisibio Mar 11, 2026
2a3cd7a
chore(deps): update grafana/writers-toolkit digest to 30df913 (#6651)
renovate-sh-app[bot] Mar 11, 2026
d09124f
fix(deps): update module github.com/minio/minio-go/v7 to v7.0.99 (#6652)
renovate-sh-app[bot] Mar 11, 2026
f88d729
fix: centralize block config and fix dedicated columns fallback in bl…
stoewer Mar 11, 2026
93c80c1
chore(deps): update actions/download-artifact digest to 3e5f45b (#6655)
renovate-sh-app[bot] Mar 11, 2026
8c735ee
Use go tool for ci tools image (#6661)
ruslan-mikhailov Mar 12, 2026
f8bf15f
chore(deps): update grafana/writers-toolkit digest to 3ee5b26 (#6663)
renovate-sh-app[bot] Mar 12, 2026
076cea4
fix(deps): update module github.com/olekukonko/tablewriter to v1.1.4 …
renovate-sh-app[bot] Mar 12, 2026
0032973
fix: skip per-label limiter and sanitizer for info metrics (#6660)
electron0zero Mar 12, 2026
9d50f73
New make target: test-e2e-clean for easy cleanup of old tests (#6658)
zalegrala Mar 12, 2026
9fd8c65
generator: fix drain old series on metric replacement to prevent limi…
carles-grafana Mar 12, 2026
b5ffd5f
Resolve dependency conflict (#6668)
ruslan-mikhailov Mar 12, 2026
2e3a80e
Update grafana/tempo-ci-tools image (#6665)
ruslan-mikhailov Mar 12, 2026
7c82695
chore(deps): update grafana/writers-toolkit digest to e2bbb88 (#6673)
renovate-sh-app[bot] Mar 12, 2026
7b0a869
docs: document label_name values in label cardinality demand estimate…
electron0zero Mar 12, 2026
e66c0c3
Fixed lint errors in tempo-cli (#6671)
zhxiaogg Mar 12, 2026
7a0cd2e
fix(deps): update module google.golang.org/grpc to v1.79.2 (#6678)
renovate-sh-app[bot] Mar 13, 2026
ec875f6
chore: remove span-metrics leftovers and lazy-init generator clients …
javiermolinar Mar 13, 2026
5a5073e
chore(deps): update grafana/writers-toolkit digest to c9be503 (#6679)
renovate-sh-app[bot] Mar 13, 2026
32264d7
docs: Update 2.10.2 notes and config defaults (#6675)
knylander-grafana Mar 13, 2026
fa7affe
chore(deps): update module github.com/golangci/golangci-lint/v2 to v2…
renovate-sh-app[bot] Mar 13, 2026
d2ab29d
Cleanup changelog after 2.10.2 release (#6670)
zhxiaogg Mar 13, 2026
427dac8
Automated the docker image tag update in Makefile (#6643)
zhxiaogg Mar 13, 2026
cbdd8a2
fix(deps): update opentelemetry-contrib to v0.67.0 (#6686)
renovate-sh-app[bot] Mar 13, 2026
9675a5f
fix(deps): update module go.yaml.in/yaml/v2 to v2.4.4 (#6685)
renovate-sh-app[bot] Mar 13, 2026
32108bb
enhancement: Remove legacy `mem-ballast-size-mbs` cli flag (#6403)
orkhan-huseyn Mar 14, 2026
6c393ef
chore(deps): lock file maintenance (#6689)
renovate-sh-app[bot] Mar 14, 2026
d9f8dbf
fix(deps): update github.com/twmb/franz-go/pkg/kfake digest to 8ad451…
renovate-sh-app[bot] Mar 14, 2026
3f38ee8
chore(deps): update module github.com/golangci/golangci-lint/v2 to v2…
renovate-sh-app[bot] Mar 14, 2026
2138961
Docs: comparison operators (#6659)
ruslan-mikhailov Mar 16, 2026
80ed0f9
[Bugfix] Return 400 instead of 500 when query_range or query_instant …
ruslan-mikhailov Mar 16, 2026
e044e27
Changelog cleanup (#6695)
ruslan-mikhailov Mar 16, 2026
ea7bd7b
chore: add quick checks to tempo mixin runbook for fast triage (#6696)
javiermolinar Mar 16, 2026
bfc24d7
chore: use synctest to speedup (#6556)
javiermolinar Mar 16, 2026
9f38a1f
[tempo-cli] do not solely rely on the meta for dedicated columns (#6584)
ie-pham Mar 16, 2026
be048dd
chore(deps): update grafana/grafana docker tag to v12.4.1 (#6697)
renovate-sh-app[bot] Mar 16, 2026
af64238
[vParquet5] Faster fetch layer for metrics queries (#6359)
mdisibio Mar 16, 2026
e5e388d
chore(deps): update anchore/sbom-action action to v0.23.1 (#6701)
renovate-sh-app[bot] Mar 16, 2026
ea06863
fix(deps): update module google.golang.org/api to v0.270.0 (#6698)
renovate-sh-app[bot] Mar 16, 2026
db0e9e1
fix: prevent integer overflow in query parameter parsing (#6612)
ricardbejarano Mar 17, 2026
09e9651
fix(deps): update module github.com/parquet-go/parquet-go to v0.29.0 …
renovate-sh-app[bot] Mar 17, 2026
92be6be
chore: remove remaining app ingester config (#6667)
javiermolinar Mar 17, 2026
f59bc9d
Agents and skill for writing Tempo docs (#6674)
knylander-grafana Mar 17, 2026
83532bd
[jsonnet] add VPA resource and config for query-frontend (#6702)
zalegrala Mar 17, 2026
0313ec8
fix(deps): update module go.opentelemetry.io/proto/otlp to v1.10.0 (#…
renovate-sh-app[bot] Mar 17, 2026
e49f6d9
chore(deps): update grafana/alloy docker tag to v1.14.0 (#6703)
renovate-sh-app[bot] Mar 17, 2026
bb8ca66
fix(s3): treat SSE-C encryption_key as a secret (CVE-2026-28377) (#6711)
mattdurham Mar 17, 2026
918de50
docs: add missing scopes to tags v2 docs (#6706)
javiermolinar Mar 17, 2026
7871472
Bumped tempo-ci-tools image manually (#6714)
zhxiaogg Mar 17, 2026
1a26c25
chore(deps): update grafana/writers-toolkit digest to ce25405 (#6715)
renovate-sh-app[bot] Mar 17, 2026
4825779
chore(deps): update module github.com/golangci/golangci-lint/v2 to v2…
renovate-sh-app[bot] Mar 17, 2026
ca676b1
chore: add v2.10.3 to CHANGELOG (#6717)
mattdurham Mar 17, 2026
db505d1
fix(deps): update module cloud.google.com/go/storage to v1.61.0 (#6720)
renovate-sh-app[bot] Mar 17, 2026
614d5c7
fix(deps): update module github.com/googleapis/gax-go/v2 to v2.18.0 (…
renovate-sh-app[bot] Mar 17, 2026
8152517
chore(deps): update grafana/tempo-ci-tools docker tag to v20260317 (#…
renovate-sh-app[bot] Mar 17, 2026
8900dd8
fix(deps): update module google.golang.org/api to v0.271.0 (#6722)
renovate-sh-app[bot] Mar 17, 2026
a869b3c
fix: Fixed race condition on owner unregistering on live store shutdo…
oleg-kozlyuk-grafana Mar 18, 2026
b986dcc
chore: Fixing Renovate errors (#6725)
oleg-kozlyuk-grafana Mar 18, 2026
4eceab8
fix(deps): update module cloud.google.com/go/storage to v1.61.1 (#6726)
renovate-sh-app[bot] Mar 18, 2026
8170248
chore(deps): update actions/create-github-app-token action to v3 (#6727)
renovate-sh-app[bot] Mar 18, 2026
5230044
chore: deprecate metrics-generator no-localblocks target (#6707)
javiermolinar Mar 18, 2026
614943a
Included Tempo image tag update in release process (#6669)
zhxiaogg Mar 18, 2026
a5e6c44
chore(deps): update actions/cache digest to 6682284 (#6730)
renovate-sh-app[bot] Mar 18, 2026
0840696
fix(deps): update module golang.org/x/net to v0.52.0 (#6733)
renovate-sh-app[bot] Mar 19, 2026
537916e
fix(deps): update module google.golang.org/grpc to v1.79.3 [security]…
renovate-sh-app[bot] Mar 19, 2026
34ffa1c
chore(deps): update module golang.org/x/tools to v0.43.0 (#6738)
renovate-sh-app[bot] Mar 19, 2026
d8518f4
feat: disable legacy overrides by default, add flag to opt back in
electron0zero Mar 19, 2026
50d4d4d
chore: migrate jsonnet overrides from legacy to new scoped format
electron0zero Mar 19, 2026
File filter

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
59 changes: 59 additions & 0 deletions .agents/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
# Doc agents

We use two types of documentation agents: a generic AI agent, which serves as the default tool for product teams without a writer and handles the basic, standardized workflow; and the AI twin, a personalized agent that encodes your unique research, structure, writing, and review process. The generic agent fills the gap when no writer is available, while the AI twin amplifies your individual craft and raises the quality bar for the teams you support.

Both types of doc agent are designed to help you generate, update, and maintain documentation across any Grafana project. They guide you through the entire documentation workflow—from understanding the product to drafting, reviewing, and preparing PRs—or you can run them at any individual stage you choose. They build structure, create and update content, validate links, and surface issues, while you stay in control of what to approve, refine, or publish.

This guide explains what each agent does within the documentation workflow and what responsibilities remain with you as the writer.

## What you do (as the writer)

The agents are installed in your project.

Use the agent directly in VS Code with any AI model. Tell Copilot, for example, “Run brenda_agent.md using style-guide.md.” You can run the full workflow from start to finish, or jump into a specific stage—Teacher, Information Architect, Author, Reviewer, or Committer—depending on the task you’re working on.

Your workflow as a writer is:

- Run the agent files
- Answer yes/no questions from the agent
- Review the drafts it produces
- Approve or edit the content
- Decide when to commit a PR

The agent does everything else automatically.

## What the agents do

Once the agent is installed into your project, it takes you through the entire documentation workflow.

You can run it in its entirely, or run a specific stage of it.

### Teach you about the product
Helps you quickly understand a new product area by explaining its purpose, concepts, terminology, user journeys, workflows, and system behavior, while flagging uncertainties before moving on to the next stage.

### Determine what needs documenting
It scans changes or your whole repository to understand what should be added or updated.

### Create your documentation structure
It builds folders, section index pages, and introduction pages based on the context.

### Write new docs or edit existing documentation
The agent can draft:
- Get started pages
- Setup guides
- Configuration pages
- Concepts
- Task/guide documentation

You can choose to generate all pages or just specific sections.

### Review your documentation
It checks:
- internal links
- folder structure
- formatting
- style rules

### Prepare a pull request
It writes the PR title and summary, increments version numbers, and prepares changes for you to review.

157 changes: 157 additions & 0 deletions .agents/doc-agents/shared/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,157 @@
# Documentation Agent Shared Resources

This directory contains shared resources for documentation agents and writers working on Tempo documentation.

## Files Overview

### [`style-guide.md`](style-guide.md)
**Purpose**: Grafana documentation style guide and templates

**When to use**:
- Before writing any documentation
- When reviewing documentation for style compliance
- When unsure about formatting, phrasing, or structure

**Key contents**:
- Style rules (tense, voice, formatting)
- Template structures (concept, task, reference, scenario)
- Common style requirements

### [`best-practices.md`](best-practices.md)
**Purpose**: Best practices learned from documentation work

**When to use**:
- Starting a new documentation task
- Reviewing documentation before submission
- Learning from past documentation work
- Avoiding common pitfalls

**Key contents**:
- Pre-writing checklist
- Verification process
- Common pitfalls and solutions
- Documentation patterns (good vs. bad)
- Guidelines for addressing user confusion

### [`verification-checklist.md`](verification-checklist.md)
**Purpose**: Comprehensive checklist for verifying documentation accuracy

**When to use**:
- Before submitting documentation changes
- When updating existing documentation
- To ensure completeness and accuracy
- As a quality assurance step

**Key contents**:
- Codebase verification steps
- Configuration reference checks
- Version compatibility verification
- Style guide compliance
- Example quality checks

### [`release-notes-workflow.md`](release-notes-workflow.md)
**Purpose**: Workflow for creating Grafana Tempo release notes

**When to use**:
- Creating release notes for a new Tempo version
- Reviewing or updating existing release notes
- Understanding the multi-phase release notes process
- Looking up the document structure template or example prompts

**Key contents**:
- Multi-phase workflow (input gathering, documentation assessment, gap resolution, categorization, writing, validation, polish)
- Documentation assessment process for evaluating whether PRs need docs and whether those docs exist
- PR classification system (docs present, docs needed, docs update needed, no docs required)
- Document structure template with frontmatter and section layout
- Example prompts for common release notes tasks (initial draft, PR deep dive, documentation assessment, upgrade considerations)
- Tempo-specific style guidelines and conventions
- Iteration checklist for content completeness, documentation assessment, documentation coverage, and quality
- Feature-by-feature deep dive workflow for complex releases

### [`metrics-generator-knowledge.md`](metrics-generator-knowledge.md)
**Purpose**: Domain-specific knowledge about Tempo metrics-generator

**When to use**:
- Writing or updating metrics-generator documentation
- Understanding feature scope (span-metrics vs. service-graphs)
- Verifying configuration options
- Understanding user confusion points

**Key contents**:
- Feature scope (processor-specific vs. shared)
- Configuration structure examples
- Common user confusion points
- Version compatibility notes
- Key code file locations

## Usage Workflow

### For New Documentation

1. **Start with** [`style-guide.md`](style-guide.md) to understand formatting requirements
2. **Review** [`best-practices.md`](best-practices.md) for common patterns and pitfalls
3. **Reference** [`metrics-generator-knowledge.md`](metrics-generator-knowledge.md) if working on metrics-generator features
4. **Use** [`verification-checklist.md`](verification-checklist.md) before submitting

### For Release Notes

1. **Follow** [`release-notes-workflow.md`](release-notes-workflow.md) for the complete multi-phase process
2. **Use** [`docs-pr-check` skill](../../../.claude/skills/docs-pr-check/SKILL.md) for documentation assessment (Phase 1.5)
3. **Use** [`docs-pr-write` skill](../../../.claude/skills/docs-pr-write/SKILL.md) for documentation gap resolution (Phase 1.75)
4. **Reference** [`style-guide.md`](style-guide.md) for general style rules
5. **Use** [`verification-checklist.md`](verification-checklist.md) before submitting

### For Updating Existing Documentation

1. **Check** [`verification-checklist.md`](verification-checklist.md) to ensure all areas are covered
2. **Reference** [`best-practices.md`](best-practices.md) for common issues to avoid
3. **Verify** against [`metrics-generator-knowledge.md`](metrics-generator-knowledge.md) if updating metrics-generator docs
4. **Review** [`style-guide.md`](style-guide.md) for consistency

### For Addressing GitHub Issues

1. **Read** [`best-practices.md`](best-practices.md) section on "Addressing User Confusion"
2. **Check** [`metrics-generator-knowledge.md`](metrics-generator-knowledge.md) for known confusion points
3. **Follow** [`verification-checklist.md`](verification-checklist.md) to ensure fixes are complete
4. **Verify** against [`style-guide.md`](style-guide.md) for consistency

## Quick Reference

| Task | Primary Resource | Secondary Resource |
|------|-----------------|-------------------|
| Starting new docs | `style-guide.md` | `best-practices.md` |
| Updating docs | `verification-checklist.md` | `best-practices.md` |
| Writing release notes | `release-notes-workflow.md` | `style-guide.md` |
| PR docs assessment (triage) | `../../../.claude/skills/docs-pr-check/SKILL.md` | `release-notes-workflow.md` |
| PR docs writing (execution) | `../../../.claude/skills/docs-pr-write/SKILL.md` | `release-notes-workflow.md` |
| Metrics-generator work | `metrics-generator-knowledge.md` | `verification-checklist.md` |
| Fixing user issues | `best-practices.md` | `metrics-generator-knowledge.md` |
| Style questions | `style-guide.md` | `best-practices.md` |
| Pre-submission review | `verification-checklist.md` | `style-guide.md` |

## Maintenance

These files should be updated when:
- New patterns or best practices are discovered
- Common issues are identified and resolved
- Domain knowledge expands (new features, new confusion points)
- Style guide is updated
- Verification processes improve

## Contributing

When you discover new insights:
1. Document them in the appropriate file
2. Update the relevant sections
3. Add examples if helpful
4. Share with the team

## Related Resources

- Main documentation: `docs/sources/tempo/`
- Configuration reference: `docs/sources/tempo/configuration/_index.md`
- Codebase: `modules/generator/processor/`
- CHANGELOG: `CHANGELOG.md`
- Skills workflow README: `.claude/skills/README.md`
- Skill: `.claude/skills/docs-pr-check/SKILL.md`
- Skill: `.claude/skills/docs-pr-write/SKILL.md`
135 changes: 135 additions & 0 deletions .agents/doc-agents/shared/best-practices.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,135 @@
# Documentation Best Practices

> **For human writers only.** Do not include this file in agent or skill instructions. It is reference material for people, not a task list for agents.

This guide captures best practices learned from documentation work, particularly around verifying accuracy, addressing user confusion, and maintaining consistency.

## Pre-Writing Checklist

Before writing or updating documentation:

- [ ] Identify the user problem or confusion point (e.g., GitHub issues)
- [ ] Locate the relevant codebase implementation
- [ ] Check the configuration reference documentation
- [ ] Review related documentation for consistency
- [ ] Understand feature scope (what's processor-specific vs. shared)

## Verification Process

Always verify documentation against multiple sources:

### 1. Codebase Verification
- Read the actual implementation code
- Verify feature names, configuration options, and behavior
- Check for default values and optional parameters
- Understand the relationship between features

### 2. Configuration Reference Check
- Compare documented configuration options with `docs/sources/tempo/configuration/_index.md`
- Ensure all options are documented consistently
- Verify YAML structure and examples match the reference

### 3. Version Compatibility
- Check CHANGELOG.md for when features were introduced
- Verify feature availability in target version (e.g., 2.10 vs. 3.0)
- Note any version-specific behavior or requirements

### 4. Style Guide Compliance
- Review against `.agents/doc-agents/shared/style-guide.md`
- Check for "see" vs "refer to" usage
- Verify heading structure and introductions
- Ensure examples use proper phrasing

## Common Pitfalls to Avoid

### 1. Confusing Examples
**Problem**: Examples that show default behavior instead of the feature's purpose
- **Bad**: Showing `deployment.environment` → `deployment_environment` (default sanitization)
- **Good**: Showing `deployment.environment` → `env` (actual renaming)

**Solution**: Always test examples to ensure they demonstrate the intended use case

### 2. Missing Clarifications
**Problem**: Assuming users understand implicit requirements
- **Bad**: Not explaining that `source_labels` must use original attribute names
- **Good**: Explicitly stating "must contain original span or resource attribute names (with dots)"

**Solution**: Add admonitions or explicit notes for non-obvious requirements

### 3. Unclear Feature Relationships
**Problem**: Not explaining how related features interact
- **Bad**: Listing `dimensions` and `dimension_mappings` without explaining they're alternatives
- **Good**: Explaining when to use each and that they're alternatives, not complementary

**Solution**: Add "Understanding X vs Y" sections for related features

### 4. Inaccurate Statements
**Problem**: Stating incorrect information (e.g., "two metrics" when there are three)
- **Solution**: Always verify against codebase, especially for counts, lists, and defaults

### 5. Missing Feature Documentation
**Problem**: Not documenting features that exist in code but aren't in docs
- **Solution**: Cross-reference codebase with documentation to find gaps

## Documentation Patterns

### Good Patterns

**Clear Introductions After Headings**
```markdown
### Disabling intrinsic dimensions

You can control which intrinsic dimensions are included in your metrics. Disable any of the default intrinsic dimensions using the `intrinsic_dimensions` configuration.
```

**Explicit Clarifications**
```markdown
{{< admonition type="note" >}}
The `source_labels` field must contain the **original span or resource attribute names** (with dots), not sanitized Prometheus label names.
{{< /admonition >}}
```

**Prose Over Lists for Explanations**
```markdown
Use `dimensions` when you want to add span attributes as labels using their default (sanitized) names. Use `dimension_mappings` when you want to rename attributes to custom label names or combine multiple attributes.
```

**Proper Example Phrasing**
```markdown
The following example shows how to rename the `deployment.environment` attribute to a shorter label called `env`, for example:
```

### Patterns to Avoid

**Vague References**
- ❌ "see below"
- ✅ "as described in the sections below" or "refer to the sections below"

**Passive Voice**
- ❌ "This processor mirrored the implementation"
- ✅ "This processor mirrors the implementation"

**Lists as Paragraph Substitutes**
- ❌ Using bullet lists for explanatory content
- ✅ Using prose paragraphs for explanations

## Addressing User Confusion

When addressing GitHub issues or user feedback:

1. **Identify Root Cause**: Understand what's actually confusing, not just the symptom
2. **Verify Against Code**: Ensure the documentation matches actual behavior
3. **Add Clarifications**: Don't just fix examples—add explicit guidance
4. **Explain Relationships**: Help users understand how features relate
5. **Provide Clear Examples**: Show actual use cases, not edge cases

## Review Process

Before submitting documentation, use [`verification-checklist.md`](verification-checklist.md).

## Continuous Improvement

- Review GitHub issues for documentation gaps
- Cross-reference codebase changes with documentation
- Update knowledge base when discovering new patterns
- Share learnings with the documentation team
Loading