github.com/anuvu/tyk@v2.9.0-beta9-dl-apic+incompatible/trace/openzipkin/config.go (about) 1 package openzipkin 2 3 import "encoding/json" 4 5 type Config struct { 6 Reporter Reporter `json:"reporter"` 7 Sampler Sampler `json:"sampler"` 8 } 9 10 type Reporter struct { 11 URL string `json:"url"` 12 BatchSize int `json:"batch_size"` 13 MaxBacklog int `json:"max_backlog"` 14 } 15 16 type Sampler struct { 17 Name string `json:"name"` 18 Rate float64 `json:"rate"` 19 Salt int64 `json:"salt"` 20 Mod uint64 `json:"mod"` 21 } 22 23 func Load(opts map[string]interface{}) (*Config, error) { 24 b, err := json.Marshal(opts) 25 if err != nil { 26 return nil, err 27 } 28 var c Config 29 err = json.Unmarshal(b, &c) 30 return &c, nil 31 }