Signed-off-by: Vasiliy Tolstov <v.tolstov@unistack.org>
This commit is contained in:
Василий Толстов 2022-03-13 11:24:11 +03:00
parent 85319f9bd0
commit eac6b15775

View File

@ -302,8 +302,9 @@ func (m *prometheusMeter) Write(w io.Writer, opts ...meter.Option) error {
Metric: make([]*dto.Metric, 0, len(metrics.cs)), Metric: make([]*dto.Metric, 0, len(metrics.cs)),
} }
for _, c := range metrics.cs { for _, c := range metrics.cs {
m := newMetric(c.labels) m := &dto.Metric{}
_ = c.c.Write(m) _ = c.c.Write(m)
fillMetric(m, c.labels)
mf.Metric = append(mf.Metric, m) mf.Metric = append(mf.Metric, m)
} }
mfs = append(mfs, mf) mfs = append(mfs, mf)
@ -316,8 +317,9 @@ func (m *prometheusMeter) Write(w io.Writer, opts ...meter.Option) error {
Metric: make([]*dto.Metric, 0, len(metrics.cs)), Metric: make([]*dto.Metric, 0, len(metrics.cs)),
} }
for _, c := range metrics.cs { for _, c := range metrics.cs {
m := newMetric(c.labels) m := &dto.Metric{}
_ = c.c.Write(m) _ = c.c.Write(m)
fillMetric(m, c.labels)
mf.Metric = append(mf.Metric, m) mf.Metric = append(mf.Metric, m)
} }
mfs = append(mfs, mf) mfs = append(mfs, mf)
@ -330,8 +332,9 @@ func (m *prometheusMeter) Write(w io.Writer, opts ...meter.Option) error {
Metric: make([]*dto.Metric, 0, len(metrics.cs)), Metric: make([]*dto.Metric, 0, len(metrics.cs)),
} }
for _, c := range metrics.cs { for _, c := range metrics.cs {
m := newMetric(c.labels) m := &dto.Metric{}
_ = c.c.Write(m) _ = c.c.Write(m)
fillMetric(m, c.labels)
mf.Metric = append(mf.Metric, m) mf.Metric = append(mf.Metric, m)
} }
mfs = append(mfs, mf) mfs = append(mfs, mf)
@ -344,8 +347,9 @@ func (m *prometheusMeter) Write(w io.Writer, opts ...meter.Option) error {
Metric: make([]*dto.Metric, 0, len(metrics.cs)), Metric: make([]*dto.Metric, 0, len(metrics.cs)),
} }
for _, c := range metrics.cs { for _, c := range metrics.cs {
m := newMetric(c.labels) m := &dto.Metric{}
_ = c.c.Write(m) _ = c.c.Write(m)
fillMetric(m, c.labels)
mf.Metric = append(mf.Metric, m) mf.Metric = append(mf.Metric, m)
} }
mfs = append(mfs, mf) mfs = append(mfs, mf)
@ -358,8 +362,9 @@ func (m *prometheusMeter) Write(w io.Writer, opts ...meter.Option) error {
Metric: make([]*dto.Metric, 0, len(metrics.cs)), Metric: make([]*dto.Metric, 0, len(metrics.cs)),
} }
for _, c := range metrics.cs { for _, c := range metrics.cs {
m := newMetric(c.labels) m := &dto.Metric{}
_ = c.c.Write(m) _ = c.c.Write(m)
fillMetric(m, c.labels)
mf.Metric = append(mf.Metric, m) mf.Metric = append(mf.Metric, m)
} }
mfs = append(mfs, mf) mfs = append(mfs, mf)
@ -514,12 +519,12 @@ func newHash(labels []string) uint64 {
return h.Sum64() return h.Sum64()
} }
func newMetric(labels []string) *dto.Metric { func fillMetric(m *dto.Metric, labels []string) *dto.Metric {
m := &dto.Metric{Label: make([]*dto.LabelPair, 0, len(labels)/2)} m.Label = make([]*dto.LabelPair, 0, len(labels)/2)
for idx := 0; idx < len(labels); idx += 2 { for idx := 0; idx < len(labels); idx += 2 {
m.Label = append(m.Label, &dto.LabelPair{ m.Label = append(m.Label, &dto.LabelPair{
Name: &labels[idx], Name: newString(labels[idx]),
Value: &labels[idx+1], Value: newString(labels[idx+1]),
}) })
} }
return m return m