MCPcopy
hub / github.com/grafana/tempo / writeStatusConfig

Method writeStatusConfig

cmd/tempo/app/app.go:279–325  ·  view source on GitHub ↗
(w io.Writer, r *http.Request)

Source from the content-addressed store, hash-verified

277}
278
279func (t *App) writeStatusConfig(w io.Writer, r *http.Request) error {
280 var output interface{}
281
282 mode := r.URL.Query().Get("mode")
283 switch mode {
284 case "diff":
285 defaultCfg := NewDefaultConfig()
286
287 defaultCfgYaml, err := util.YAMLMarshalUnmarshal(defaultCfg)
288 if err != nil {
289 return err
290 }
291
292 cfgYaml, err := util.YAMLMarshalUnmarshal(t.cfg)
293 if err != nil {
294 return err
295 }
296
297 output, err = util.DiffConfig(defaultCfgYaml, cfgYaml)
298 if err != nil {
299 return err
300 }
301 case "defaults":
302 output = NewDefaultConfig()
303 case "":
304 output = t.cfg
305 default:
306 return fmt.Errorf("unknown value for mode query parameter: %v", mode)
307 }
308
309 out, err := yaml.Marshal(output)
310 if err != nil {
311 return err
312 }
313
314 _, err = w.Write([]byte("---\n"))
315 if err != nil {
316 return err
317 }
318
319 _, err = w.Write(out)
320 if err != nil {
321 return err
322 }
323
324 return nil
325}
326
327func (t *App) readyHandler(sm *services.Manager, shutdownRequested *atomic.Bool) http.HandlerFunc {
328 return func(w http.ResponseWriter, r *http.Request) {

Callers 1

statusHandlerMethod · 0.95

Calls 7

YAMLMarshalUnmarshalFunction · 0.92
DiffConfigFunction · 0.92
NewDefaultConfigFunction · 0.85
QueryMethod · 0.80
GetMethod · 0.65
MarshalMethod · 0.65
WriteMethod · 0.65

Tested by

no test coverage detected