grafana / tempo

Grafana Tempo is a high volume, minimal dependency distributed tracing backend.
https://grafana.com/oss/tempo/
GNU Affero General Public License v3.0
4.03k stars 522 forks source link

[DOC] The CLI parameter list is incomplete #1791

Open attachmentgenie opened 2 years ago

attachmentgenie commented 2 years ago

Is your feature request related to a problem? Please describe. I am trying setup a new Tempo system that will run the following config (excerpt)

multitenancy_enabled: false
server:
  http_listen_port: 3200
memberlist:
  join_members:
    - dnssrv+_tempo-gossip._tcp.service.consul
distributor:
  receivers:
    zipkin:
    otlp:
      protocols:
        http:
        grpc:
storage:
  trace:
    backend: s3
    s3:
      bucket: traces
      endpoint: s3.service.consul
      access_key: nottherealkey
      secret_key: nottherealsecret
      insecure: true

but if you try and port this setup to only using CLI parameters you will find that several parameters are current not implemented in the Tempo CLI, more specifically the following 2 are absent that are available in e.g the Mimir CLI, The distributor section seems absent entirely

    -memberlist.join=dnssrv+_mimir-gossip._tcp.service.consul
    -storage.trace.s3.insecure=true

Describe the solution you'd like Support the required cli parameters, similar to how mimir does it

Describe alternatives you've considered keep using config file

Additional context

joe-elliott commented 2 years ago

So the original idea was to only expose the most used configuration options using the CLI. We were trying to simplify the options printed when the user dumped help to make Tempo easier to understand. As an operator "graduated" from simple to complex deployments we expected them to use yaml for configuration.

Whether or not these goals have been achieved is difficult to say. We would be open to making all configuration options available on the CLI if the community wants it.

attachmentgenie commented 2 years ago

Right, than my learning/maturity path is just weird. I generally switch the other way when i need/want to run in a non trivial way, that way i dont have to drag around a config file with my dockerfile/nomad files.

joe-elliott commented 2 years ago

Right, than my learning/maturity path is just weird

I wouldn't necessarily say that. The initial choice to not include every CLI parameter was a gut call and not backed by much in the way of data. This is really some of the first feedback we've received on it.

As Tempo has grown I am tempted to add all CLI params.

github-actions[bot] commented 1 year ago

This issue has been automatically marked as stale because it has not had any activity in the past 60 days. The next time this stale check runs, the stale label will be removed if there is new activity. The issue will be closed after 15 days if there is no new activity. Please apply keepalive label to exempt this Issue.

joe-elliott commented 1 year ago

Marking this keepalive. Looking to continue discussing this if other community members have strong feelings.

EraYaN commented 1 year ago

tempo-cli should mirror other grafana labs CLI projects in as may ways as possible, so if all those projects have all the parameters so should tempo-cli. And this should hold for everything, in how to install, use, parse output etc.

github-actions[bot] commented 1 year ago

This issue has been automatically marked as stale because it has not had any activity in the past 60 days. The next time this stale check runs, the stale label will be removed if there is new activity. The issue will be closed after 15 days if there is no new activity. Please apply keepalive label to exempt this Issue.

knylander-grafana commented 1 year ago

Depending on the decision in the community, we can update the docs to better cover CLI usage for how to install, use, parse, etc.