Tonis Tiigi f9a76355b5
history: add UI view to traces
Signed-off-by: Tonis Tiigi <tonistiigi@gmail.com>
2025-02-11 11:40:01 -08:00

43 lines
867 B
Go

package jaegerui
import (
"bytes"
"encoding/json"
"slices"
)
type Menu struct {
Label string `json:"label"`
Items []MenuItem `json:"items"`
}
type MenuItem struct {
Label string `json:"label"`
URL string `json:"url"`
}
type Config struct {
Dependencies struct {
MenuEnabled bool `json:"menuEnabled"`
} `json:"dependencies"`
Monitor struct {
MenuEnabled bool `json:"menuEnabled"`
} `json:"monitor"`
ArchiveEnabled bool `json:"archiveEnabled"`
Menu []Menu `json:"menu"`
}
func (cfg Config) Inject(name string, dt []byte) ([]byte, bool) {
if name != "index.html" {
return dt, false
}
cfgData, err := json.Marshal(cfg)
if err != nil {
return dt, false
}
dt = bytes.Replace(dt, []byte("const JAEGER_CONFIG = DEFAULT_CONFIG;"), slices.Concat([]byte(`const JAEGER_CONFIG = `), cfgData, []byte(`;`)), 1)
return dt, true
}