github.com/muxinc/mux-go@v1.1.1/examples/data/metrics/exercise-metrics.go (about)

     1  package main
     2  
     3  import (
     4  	"fmt"
     5  	"os"
     6  
     7  	"github.com/muxinc/mux-go"
     8  	"github.com/muxinc/mux-go/examples/common"
     9  )
    10  
    11  // Exercises all metrics operations:
    12  //   list-breakdown-values
    13  //   get-overall-values
    14  //   list-insights
    15  //   get-metric-timeseries-data
    16  //   list-all-metric-values
    17  
    18  func main() {
    19  
    20  	// API Client Initialization
    21  	client := muxgo.NewAPIClient(
    22  		muxgo.NewConfiguration(
    23  			muxgo.WithBasicAuth(os.Getenv("MUX_TOKEN_ID"), os.Getenv("MUX_TOKEN_SECRET")),
    24  		))
    25  
    26  	// ========== list-breakdown-values ==========
    27  	bdvopts := muxgo.ListBreakdownValuesParams{GroupBy: "browser", Timeframe: []string{"7:days"}}
    28  	bdv, err := client.MetricsApi.ListBreakdownValues("video_startup_time", muxgo.WithParams(&bdvopts))
    29  	common.AssertNoError(err)
    30  	common.AssertNotNil(bdv.Data)
    31  	fmt.Println("list-breakdown-values ✅")
    32  	
    33  	// ========== get-overall-values ==========
    34  	ovopts := muxgo.GetOverallValuesParams{Timeframe: []string{"7:days"}}
    35  	ov, err := client.MetricsApi.GetOverallValues("video_startup_time", muxgo.WithParams(&ovopts))
    36  	common.AssertNoError(err)
    37  	common.AssertNotNil(ov.Data)
    38  	fmt.Println("get-overall-values ✅")
    39  
    40  	// ========== list-insights ==========
    41  	iopts := muxgo.ListInsightsParams{Timeframe: []string{"7:days"}}
    42  	is, err := client.MetricsApi.ListInsights("video_startup_time", muxgo.WithParams(&iopts))
    43  	common.AssertNoError(err)
    44  	common.AssertNotNil(is.Data)
    45  	fmt.Println("list-insights ✅")
    46  
    47  	// ========== get-metric-timeseries-data ==========
    48  	tsopts := muxgo.GetMetricTimeseriesDataParams{Timeframe: []string{"7:days"}}
    49  	ts, err := client.MetricsApi.GetMetricTimeseriesData("video_startup_time", muxgo.WithParams(&tsopts))
    50  	common.AssertNoError(err)
    51  	common.AssertNotNil(ts.Data)
    52  	fmt.Println("get-metic-timeseries-data ✅")
    53  
    54  	// ========== list-all-metric-values ==========
    55  	lamv, err := client.MetricsApi.ListAllMetricValues()
    56  	common.AssertNoError(err)
    57  	common.AssertNotNil(lamv.Data)
    58  	fmt.Println("list-all-metric-values ✅")
    59  }