github.com/muxinc/mux-go@v1.1.1/examples/data/realtime/exercise-realtime.go (about) 1 package main 2 3 import ( 4 "fmt" 5 "os" 6 7 muxgo "github.com/muxinc/mux-go" 8 "github.com/muxinc/mux-go/examples/common" 9 ) 10 11 func main() { 12 13 // API Client Initialization 14 client := muxgo.NewAPIClient( 15 muxgo.NewConfiguration( 16 muxgo.WithBasicAuth(os.Getenv("MUX_TOKEN_ID"), os.Getenv("MUX_TOKEN_SECRET")), 17 )) 18 19 // Test coverage here isn't fantastic due to not knowning if the account we're testing against has 20 // any real-time data. The behaviour has been manually verified against real-world data. 21 22 // ========== list-realtime-dimensions ========== 23 d, err := client.RealTimeApi.ListRealtimeDimensions() 24 common.AssertNoError(err) 25 common.AssertNotNil(d.Data) 26 common.AssertIntGreaterThanZero(len(d.Data)) 27 common.AssertStringNotEqualsValue(d.Data[0].Name, "") 28 common.AssertStringNotEqualsValue(d.Data[0].DisplayName, "") 29 fmt.Println("list-realtime-dimensions ✅") 30 31 // ========== list-realtime-metrics ========== 32 m, err := client.RealTimeApi.ListRealtimeMetrics() 33 common.AssertNoError(err) 34 common.AssertNotNil(m.Data) 35 common.AssertIntGreaterThanZero(len(m.Data)) 36 common.AssertStringNotEqualsValue(m.Data[0].Name, "") 37 common.AssertStringNotEqualsValue(m.Data[0].DisplayName, "") 38 fmt.Println("list-realtime-metrics ✅") 39 40 // ========== get-realtime-breakdown ========== 41 rbp := muxgo.GetRealtimeBreakdownParams{Dimension: "asn"} 42 b, err := client.RealTimeApi.GetRealtimeBreakdown("current-rebuffering-percentage", muxgo.WithParams(&rbp)) 43 common.AssertNoError(err) 44 common.AssertNotNil(b.Data) 45 fmt.Println("get-realtime-breakdown ✅") 46 47 // ========== get-realtime-histogram-timeseries ========== 48 ht, err := client.RealTimeApi.GetRealtimeHistogramTimeseries("video-startup-time") 49 common.AssertNoError(err) 50 common.AssertNotNil(ht.Meta) 51 common.AssertNotNil(ht.Meta.Buckets) 52 common.AssertIntGreaterThanZero(len(ht.Meta.Buckets)) 53 common.AssertNotNil(ht.Data) 54 common.AssertIntGreaterThanZero(len(ht.Data)) 55 fmt.Println("get-realtime-histogram-timeseries ✅") 56 57 // ========== get-realtime-timeseries ========== 58 t, err := client.RealTimeApi.GetRealtimeTimeseries("current-rebuffering-percentage") 59 common.AssertNoError(err) 60 common.AssertNotNil(t.Data) 61 common.AssertIntGreaterThanZero(len(t.Data)) 62 common.AssertStringNotEqualsValue(t.Data[0].Date, "") 63 fmt.Println("get-realtime-timeseries ✅") 64 65 }