New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[DOC] Adding missing metric-generator
keys
#3643
base: main
Are you sure you want to change the base?
Conversation
Unsure if I should put the WAL config in it's own block. They postfix these blocks with |
# Storage and remote write configuration | ||
storage: | ||
|
||
# Path to store the WAL. Each tenant will be stored in its own subdirectory. | ||
path: <string> | ||
|
||
# Configuration for the Prometheus Agent WAL | ||
wal: | ||
# https://github.com/prometheus/prometheus/v2.51.2/tsdb/agent/db.go#L62-L84 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Wanted to reference something (anything) here.
Feel free to dispute
@@ -409,6 +419,12 @@ metrics_generator: | |||
# considered in metrics generation. | |||
# This is to filter out spans that are outdated. | |||
[metrics_ingestion_time_range_slack: <duration> | default = 30s] | |||
|
|||
# Timeout for generator requests (???) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Not quite sure what the correct wording should be here
wal: <WAL Config> | ||
[path: <string> | default = "/var/tempo/wal"] | ||
[v2_encoding: <string> | default = snappy] | ||
[search_encoding: <string> | default = none] | ||
[ingestion_time_range_slack: <duration> | default = 2m] |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Needed a way to show that this particular component is overriding values from the base component block. (WAL Config)
Wanted to keep it light for the future, so no comments where none would add additional value.
If there were comments we would need to keep both synchronized.
This way if you are making changes to the query-frontend
you won't need to change the base block because it isn't dependant on the query-frontend
Same in reverse, if you made changes to the base WAL Config
you wouldn't need to propagate them to every component that use it. (Unless you made changes to them too)
Feel free to dispute the omission of the newline breaks.
I felt a need to keep this visually distinct, but I am not married to the idea.
Might be better to keep the format consistent
# Where to store the intermediate blocks while they are being apeended to. | ||
# Will always join the `path` with "blocks" to generate the effective path | ||
# Example: "/var/tempo/wal/blocks" (ignored) | ||
[blocksfilepath: <ignored> | = join(.path, "/blocks")] |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think I found a bug?
I don't think this is the intended behavior
Please verify :
Lines 75 to 81 in 251bf5a
// Setup local backend in /blocks/ | |
p := filepath.Join(c.Filepath, blocksDir) | |
err = os.MkdirAll(p, os.ModePerm) | |
if err != nil { | |
return nil, err | |
} | |
c.BlocksFilepath = p |
|
||
|
||
## Overrides | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Not quite sure on the placement of this (Configuration blocks) section
Feel free to dispute
# Configuration block for the Write Ahead Log (WAL) | ||
traces_storage: <WAL Config> | ||
|
||
# Path to store the wal files. | ||
# Must be set. | ||
# Example: "/var/tempo/generator/traces" | ||
[path: <string> | default = ""] | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I didn't find a default value for the path
is set in the code, around the metrics-generator
But If I look at the wal code, it should except if you do not set it, which feels like an oversight?
It feels like it should set a default value?
Lines 52 to 54 in 251bf5a
if c.Filepath == "" { | |
return nil, fmt.Errorf("please provide a path for the WAL") | |
} |
Just discovered something: tempo/modules/generator/config.go Lines 53 to 57 in 251bf5a
and most of the ring keys: tempo/modules/generator/generator_ring.go Lines 18 to 31 in 251bf5a
|
@@ -330,7 +339,7 @@ metrics_generator: | |||
span_metrics: | |||
|
|||
# Buckets for the latency histogram in seconds. | |||
[histogram_buckets: <list of float> | default = 0.002, 0.004, 0.008, 0.016, 0.032, 0.064, 0.128, 0.256, 0.512, 1.02, 2.05, 4.10] | |||
[histogram_buckets: <list of float> | default = 0.002, 0.004, 0.008, 0.016, 0.032, 0.064, 0.128, 0.256, 0.512, 1.02, 2.05, 4.10, 8.20, 16,40] |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is this correct?
cfg.HistogramBuckets = prometheus.ExponentialBuckets(0.002, 2, 14) |
Should be 14 entries correct?
Howdy, @WesselAtWork. Appreciate all the details cleaned up here! @kvrhdn is going to take a look at this in the next few days. Just didn't want you to think we were ignoring you. |
I love all the clean up you've done on this doc. It really helps readability. (I'll defer to developer review for this PR.) |
What this PR does:
Adds missing keys to the
metrics-generator
Which issue(s) this PR fixes:
Fixes #3642
Sources/References
override_ring_key
tempo/modules/generator/config.go
Line 49 in 251bf5a
override_ring_key
tempo/modules/generator/config.go
Line 50 in 251bf5a
tempo/modules/generator/config.go
Lines 18 to 19 in 251bf5a
processor.service_graphs.peer_attributes
tempo/modules/generator/processor/servicegraphs/config.go
Lines 54 to 57 in 251bf5a
tempo/modules/generator/processor/servicegraphs/servicegraphs.go
Lines 57 to 59 in 251bf5a
processor.span_metrics.subprocessors
tempo/modules/generator/processor/spanmetrics/config.go
Lines 59 to 62 in 251bf5a
storage.trace.pool
tempo/tempodb/pool/config.go
Lines 11 to 12 in 854caca