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

Function Test_BuildStats

pkg/usagestats/stats_test.go:69–118  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

67}
68
69func Test_BuildStats(t *testing.T) {
70 Edition("non-OSS")
71 Edition("OSS")
72 Target("distributor")
73 Target("backend-worker")
74 NewString("compression").Set("snappy")
75 NewString("compression").Set("lz4")
76 NewInt("compression_ratio").Set(50)
77 NewInt("compression_ratio").Set(100)
78 NewFloat("size_mb").Set(100.1)
79 NewFloat("size_mb").Set(200.1)
80 NewCounter("lines_written").Inc(200)
81 s := NewStatistics("test_build_stats")
82 s.Record(25)
83 s = NewStatistics("test_build_stats")
84 s.Record(300)
85 s.Record(5)
86 w := NewWordCounter("active_tenants_build_stats")
87 w.Add("buz")
88 w = NewWordCounter("active_tenants_build_stats")
89 w.Add("foo")
90 w.Add("bar")
91 w.Add("foo")
92
93 r := BuildStats()
94 require.Equal(t, r.Arch, runtime.GOARCH)
95 require.Equal(t, r.Os, runtime.GOOS)
96 require.Equal(t, r.PrometheusVersion, build.GetVersion())
97 require.Equal(t, r.Edition, "OSS")
98 require.Equal(t, r.Target, "backend-worker")
99 require.Equal(t, r.Metrics["num_cpu"], runtime.NumCPU())
100 // Don't check num_goroutine because it could have changed since the report was created.
101 require.Equal(t, r.Metrics["compression"], "lz4")
102 require.Equal(t, r.Metrics["compression_ratio"], int64(100))
103 require.Equal(t, r.Metrics["size_mb"], 200.1)
104 require.Equal(t, r.Metrics["lines_written"].(map[string]interface{})["total"], int64(200))
105 require.Equal(t, r.Metrics["test_build_stats"].(map[string]interface{})["min"], float64(5))
106 require.Equal(t, r.Metrics["test_build_stats"].(map[string]interface{})["max"], float64(300))
107 require.Equal(t, r.Metrics["test_build_stats"].(map[string]interface{})["count"], int64(3))
108 require.Equal(t, r.Metrics["test_build_stats"].(map[string]interface{})["avg"], float64(25+300+5)/3)
109 require.Equal(t, r.Metrics["active_tenants_build_stats"], int64(3))
110
111 // check if ClusterID and Seed related attrs are not set.
112 require.Equal(t, r.ClusterID, "")
113 require.Equal(t, r.CreatedAt, time.Time{})
114 require.Equal(t, r.Interval, time.Time{})
115
116 out, _ := json.MarshalIndent(r, "", " ")
117 t.Log(string(out))
118}
119
120func TestCounter(t *testing.T) {
121 synctest.Test(t, func(t *testing.T) {

Callers

nothing calls this directly

Calls 15

RecordMethod · 0.95
AddMethod · 0.95
EditionFunction · 0.85
TargetFunction · 0.85
NewStringFunction · 0.85
NewIntFunction · 0.85
NewFloatFunction · 0.85
NewCounterFunction · 0.85
NewStatisticsFunction · 0.85
NewWordCounterFunction · 0.85
BuildStatsFunction · 0.85
SetMethod · 0.65

Tested by

no test coverage detected