From 9939ade6516055c82aea013178f833fb48e5b59d Mon Sep 17 00:00:00 2001 From: mattdurham Date: Tue, 3 Dec 2024 16:22:23 -0500 Subject: [PATCH] playing with wasm (#2215) --- go.mod | 14 +- go.sum | 16 +- .../process/examples/go/restrict/main.go | 65 + .../process/examples/go/restrict/main.wasm | Bin 0 -> 575465 bytes .../examples/go/restrict/passthrough.pb.go | 1197 +++++++++++++++++ .../compute/process/passthrough.pb.go | 1197 +++++++++++++++++ internal/component/compute/process/process.go | 126 ++ .../component/compute/process/process_test.go | 108 ++ internal/component/compute/process/types.go | 19 + internal/component/compute/process/wasm.go | 70 + internal/component/prometheus/appendable.go | 24 + 11 files changed, 2833 insertions(+), 3 deletions(-) create mode 100644 internal/component/compute/process/examples/go/restrict/main.go create mode 100755 internal/component/compute/process/examples/go/restrict/main.wasm create mode 100644 internal/component/compute/process/examples/go/restrict/passthrough.pb.go create mode 100644 internal/component/compute/process/passthrough.pb.go create mode 100644 internal/component/compute/process/process.go create mode 100644 internal/component/compute/process/process_test.go create mode 100644 internal/component/compute/process/types.go create mode 100644 internal/component/compute/process/wasm.go create mode 100644 internal/component/prometheus/appendable.go diff --git a/go.mod b/go.mod index acd1199831..eff89854f2 100644 --- a/go.mod +++ b/go.mod @@ -577,7 +577,7 @@ require ( github.com/hodgesds/perf-utils v0.7.0 // indirect github.com/huandu/xstrings v1.3.3 // indirect github.com/iancoleman/strcase v0.3.0 // indirect - github.com/ianlancetaylor/demangle v0.0.0-20240312041847-bd984b5ce465 // indirect + github.com/ianlancetaylor/demangle v0.0.0-20240805132620-81f5be970eca // indirect github.com/illumos/go-kstat v0.0.0-20210513183136-173c9b0a9973 // indirect github.com/imdario/mergo v0.3.16 // indirect github.com/inconshreveable/mousetrap v1.1.0 // indirect @@ -861,6 +861,18 @@ require ( go.opentelemetry.io/otel/exporters/stdout/stdoutlog v0.7.0 // indirect ) +require ( + github.com/aperturerobotics/protobuf-go-lite v0.8.0 + github.com/extism/go-pdk v1.1.0 + github.com/extism/go-sdk v1.6.1 +) + +require ( + github.com/dylibso/observe-sdk/go v0.0.0-20240819160327-2d926c5d788a // indirect + github.com/tetratelabs/wabin v0.0.0-20230304001439-f6f874872834 // indirect + github.com/tetratelabs/wazero v1.8.1-0.20240916092830-1353ca24fef0 // indirect +) + // NOTE: replace directives below must always be *temporary*. // // Adding a replace directive to change a module to a fork of a module will diff --git a/go.sum b/go.sum index 850c4de59d..8c18cc401a 100644 --- a/go.sum +++ b/go.sum @@ -1028,6 +1028,8 @@ github.com/apache/thrift v0.21.0 h1:tdPmh/ptjE1IJnhbhrcl2++TauVjy242rkV/UzJChnE= github.com/apache/thrift v0.21.0/go.mod h1:W1H8aR/QRtYNvrPeFXBtobyRkd0/YVhTc6i07XIAgDw= github.com/apapsch/go-jsonmerge/v2 v2.0.0 h1:axGnT1gRIfimI7gJifB699GoE/oq+F2MU7Dml6nw9rQ= github.com/apapsch/go-jsonmerge/v2 v2.0.0/go.mod h1:lvDnEdqiQrp0O42VQGgmlKpxL1AP2+08jFMw88y4klk= +github.com/aperturerobotics/protobuf-go-lite v0.8.0 h1:SoiTAVArmOrNTX31e6CC5Bem6HuOElg3YYNhp4AAPQc= +github.com/aperturerobotics/protobuf-go-lite v0.8.0/go.mod h1:y49wVEezRHg78uQ2OzLLZbtTTWuox+ChmaTuh6FLJW8= github.com/aristanetworks/glog v0.0.0-20191112221043-67e8567f59f3/go.mod h1:KASm+qXFKs/xjSoWn30NrWBBvdTTQq+UjkhjEJHfSFA= github.com/aristanetworks/goarista v0.0.0-20190325233358-a123909ec740/go.mod h1:D/tb0zPVXnP7fmsLZjtdUhSsumbK/ij54UXjjVgMGxQ= github.com/armon/circbuf v0.0.0-20150827004946-bbbad097214e/go.mod h1:3U/XgcO3hCbHZ8TKRvWD2dDTCfh9M9ya+I9JpbB7O8o= @@ -1379,6 +1381,8 @@ github.com/dustin/go-humanize v1.0.1 h1:GzkhY7T5VNhEkwH0PVJgjz+fX1rhBrR7pRT3mDkp github.com/dustin/go-humanize v1.0.1/go.mod h1:Mu1zIs6XwVuF/gI1OepvI0qD18qycQx+mFykh5fBlto= github.com/dvsekhvalnov/jose2go v1.6.0 h1:Y9gnSnP4qEI0+/uQkHvFXeD2PLPJeXEL+ySMEA2EjTY= github.com/dvsekhvalnov/jose2go v1.6.0/go.mod h1:QsHjhyTlD/lAVqn/NSbVZmSCGeDehTB/mPZadG+mhXU= +github.com/dylibso/observe-sdk/go v0.0.0-20240819160327-2d926c5d788a h1:UwSIFv5g5lIvbGgtf3tVwC7Ky9rmMFBp0RMs+6f6YqE= +github.com/dylibso/observe-sdk/go v0.0.0-20240819160327-2d926c5d788a/go.mod h1:C8DzXehI4zAbrdlbtOByKX6pfivJTBiV9Jjqv56Yd9Q= github.com/eapache/go-resiliency v1.1.0/go.mod h1:kFI+JgMyC7bLPUVY133qvEBtVayf5mFgVsvEsIPBvNs= github.com/eapache/go-resiliency v1.2.0/go.mod h1:kFI+JgMyC7bLPUVY133qvEBtVayf5mFgVsvEsIPBvNs= github.com/eapache/go-resiliency v1.7.0 h1:n3NRTnBn5N0Cbi/IeOHuQn9s2UwVUH7Ga0ZWcP+9JTA= @@ -1453,6 +1457,10 @@ github.com/evanphx/json-patch/v5 v5.9.0 h1:kcBlZQbplgElYIlo/n1hJbls2z/1awpXxpRi0 github.com/evanphx/json-patch/v5 v5.9.0/go.mod h1:VNkHZ/282BpEyt/tObQO8s5CMPmYYq14uClGH4abBuQ= github.com/expr-lang/expr v1.16.9 h1:WUAzmR0JNI9JCiF0/ewwHB1gmcGw5wW7nWt8gc6PpCI= github.com/expr-lang/expr v1.16.9/go.mod h1:8/vRC7+7HBzESEqt5kKpYXxrxkr31SaO8r40VO/1IT4= +github.com/extism/go-pdk v1.1.0 h1:K2On6XOERxrYdsgu0uLzCxeu/FYRHE8jId/hdEVSYoY= +github.com/extism/go-pdk v1.1.0/go.mod h1:Gz+LIU/YCKnKXhgge8yo5Yu1F/lbv7KtKFkiCSzW/P4= +github.com/extism/go-sdk v1.6.1 h1:gkbkG5KzYKrv8mLggw5ojg/JulXfEbLIRVhbw9Ot7S0= +github.com/extism/go-sdk v1.6.1/go.mod h1:yRolc4PvIUQ9J/BBB3QZ5EY1MtXAN2jqBGDGR3Sk54M= github.com/facette/natsort v0.0.0-20181210072756-2cd4dd1e2dcb h1:IT4JYU7k4ikYg1SCxNI1/Tieq/NFvh6dzLdgi7eu0tM= github.com/facette/natsort v0.0.0-20181210072756-2cd4dd1e2dcb/go.mod h1:bH6Xx7IW64qjjJq8M2u4dxNaBiDfKK+z/3eGDpXEQhc= github.com/fatih/camelcase v1.0.0 h1:hxNvNX/xYBp0ovncs8WyWZrOrpBNub/JfaMvbURyft8= @@ -2108,8 +2116,8 @@ github.com/iancoleman/strcase v0.3.0/go.mod h1:iwCmte+B7n89clKwxIoIXy/HfoL7AsD47 github.com/ianlancetaylor/demangle v0.0.0-20181102032728-5e5cf60278f6/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc= github.com/ianlancetaylor/demangle v0.0.0-20200824232613-28f6c0f3b639/go.mod h1:aSSvb/t6k1mPoxDqO4vJh6VOCGPwU4O0C2/Eqndh1Sc= github.com/ianlancetaylor/demangle v0.0.0-20210905161508-09a460cdf81d/go.mod h1:aYm2/VgdVmcIU8iMfdMvDMsRAQjcfZSKFby6HOFvi/w= -github.com/ianlancetaylor/demangle v0.0.0-20240312041847-bd984b5ce465 h1:KwWnWVWCNtNq/ewIX7HIKnELmEx2nDP42yskD/pi7QE= -github.com/ianlancetaylor/demangle v0.0.0-20240312041847-bd984b5ce465/go.mod h1:gx7rwoVhcfuVKG5uya9Hs3Sxj7EIvldVofAWIUtGouw= +github.com/ianlancetaylor/demangle v0.0.0-20240805132620-81f5be970eca h1:T54Ema1DU8ngI+aef9ZhAhNGQhcRTrWxVeG07F+c/Rw= +github.com/ianlancetaylor/demangle v0.0.0-20240805132620-81f5be970eca/go.mod h1:gx7rwoVhcfuVKG5uya9Hs3Sxj7EIvldVofAWIUtGouw= github.com/illumos/go-kstat v0.0.0-20210513183136-173c9b0a9973 h1:hk4LPqXIY/c9XzRbe7dA6qQxaT6Axcbny0L/G5a4owQ= github.com/illumos/go-kstat v0.0.0-20210513183136-173c9b0a9973/go.mod h1:PoK3ejP3LJkGTzKqRlpvCIFas3ncU02v8zzWDW+g0FY= github.com/imdario/mergo v0.3.5/go.mod h1:2EnlNZ0deacrJVfApfmtdGgDfMuh/nq6Ok1EcJh5FfA= @@ -3126,6 +3134,10 @@ github.com/tencentcloud/tencentcloud-sdk-go v1.0.162/go.mod h1:asUz5BPXxgoPGaRgZ github.com/tent/http-link-go v0.0.0-20130702225549-ac974c61c2f9/go.mod h1:RHkNRtSLfOK7qBTHaeSX1D6BNpI3qw7NTxsmNr4RvN8= github.com/testcontainers/testcontainers-go v0.33.0 h1:zJS9PfXYT5O0ZFXM2xxXfk4J5UMw/kRiISng037Gxdw= github.com/testcontainers/testcontainers-go v0.33.0/go.mod h1:W80YpTa8D5C3Yy16icheD01UTDu+LmXIA2Keo+jWtT8= +github.com/tetratelabs/wabin v0.0.0-20230304001439-f6f874872834 h1:ZF+QBjOI+tILZjBaFj3HgFonKXUcwgJ4djLb6i42S3Q= +github.com/tetratelabs/wabin v0.0.0-20230304001439-f6f874872834/go.mod h1:m9ymHTgNSEjuxvw8E7WWe4Pl4hZQHXONY8wE6dMLaRk= +github.com/tetratelabs/wazero v1.8.1-0.20240916092830-1353ca24fef0 h1:NCRnJ+X6eZt3awiReoHCcDuC6Wf+CgWk6p4IDkIuxTo= +github.com/tetratelabs/wazero v1.8.1-0.20240916092830-1353ca24fef0/go.mod h1:yAI0XTsMBhREkM/YDAK/zNou3GoiAce1P6+rp/wQhjs= github.com/tg123/go-htpasswd v1.2.2 h1:tmNccDsQ+wYsoRfiONzIhDm5OkVHQzN3w4FOBAlN6BY= github.com/tg123/go-htpasswd v1.2.2/go.mod h1:FcIrK0J+6zptgVwK1JDlqyajW/1B4PtuJ/FLWl7nx8A= github.com/tidwall/gjson v1.6.0/go.mod h1:P256ACg0Mn+j1RXIDXoss50DeIABTYK1PULOJHhxOls= diff --git a/internal/component/compute/process/examples/go/restrict/main.go b/internal/component/compute/process/examples/go/restrict/main.go new file mode 100644 index 0000000000..3b9284e5c9 --- /dev/null +++ b/internal/component/compute/process/examples/go/restrict/main.go @@ -0,0 +1,65 @@ +package main + +import ( + "github.com/extism/go-pdk" + "slices" + "strings" +) + +//export process +func process() int32 { + in := pdk.Input() + pt, err := parsePassthrough(in) + if err != nil { + pdk.SetError(err) + return 1 + } + allowed := pt.Config["allowed_services"] + allowedServices := strings.Split(allowed, ",") + // If allowed is empty then allow all. + if len(allowedServices) == 0 { + pdk.Output(in) + return 0 + } + // Could practice to pass along things unchanged unless + // you explicitly don't want them to. + outPT := &Passthrough{ + Prommetrics: make([]*PrometheusMetric, 0), + Metrics: pt.Metrics, + Logs: pt.Logs, + Traces: pt.Traces, + } + for _, metric := range pt.Prommetrics { + // Check for the service label + var serviceValue string + for _, lbl := range metric.Labels { + if lbl.Name == "service" { + serviceValue = lbl.Value + break + } + } + + if serviceValue == "" { + continue + } + if slices.Contains(allowedServices, serviceValue) { + outPT.Prommetrics = append(outPT.Prommetrics, metric) + } + } + bb, err := outPT.MarshalVT() + if err != nil { + pdk.SetError(err) + return 1 + } + pdk.Output(bb) + return 0 +} + +func parsePassthrough(bb []byte) (*Passthrough, error) { + pt := &Passthrough{} + err := pt.UnmarshalVT(bb) + return pt, err +} + +// this has to exist to compile with tinygo +func main() {} diff --git a/internal/component/compute/process/examples/go/restrict/main.wasm b/internal/component/compute/process/examples/go/restrict/main.wasm new file mode 100755 index 0000000000000000000000000000000000000000..0c48d5c7bc863a810603cb54492b78573700ef3c GIT binary patch literal 575465 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�|- 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%0A9Se?n7^k-^SijF3hTHOD5jyA__#fpX!n{`>>(fp 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 0 { + r.unknownFields = make([]byte, len(m.unknownFields)) + copy(r.unknownFields, m.unknownFields) + } + return r +} + +func (m *Passthrough) CloneMessageVT() protobuf_go_lite.CloneMessage { + return m.CloneVT() +} + +func (m *PrometheusMetric) CloneVT() *PrometheusMetric { + if m == nil { + return (*PrometheusMetric)(nil) + } + r := new(PrometheusMetric) + r.Value = m.Value + r.Timestampms = m.Timestampms + if rhs := m.Labels; rhs != nil { + tmpContainer := make([]*Label, len(rhs)) + for k, v := range rhs { + tmpContainer[k] = v.CloneVT() + } + r.Labels = tmpContainer + } + if len(m.unknownFields) > 0 { + r.unknownFields = make([]byte, len(m.unknownFields)) + copy(r.unknownFields, m.unknownFields) + } + return r +} + +func (m *PrometheusMetric) CloneMessageVT() protobuf_go_lite.CloneMessage { + return m.CloneVT() +} + +func (m *Label) CloneVT() *Label { + if m == nil { + return (*Label)(nil) + } + r := new(Label) + r.Name = m.Name + r.Value = m.Value + if len(m.unknownFields) > 0 { + r.unknownFields = make([]byte, len(m.unknownFields)) + copy(r.unknownFields, m.unknownFields) + } + return r +} + +func (m *Label) CloneMessageVT() protobuf_go_lite.CloneMessage { + return m.CloneVT() +} + +func (this *Passthrough) EqualVT(that *Passthrough) bool { + if this == that { + return true + } else if this == nil || that == nil { + return false + } + if len(this.Metrics) != len(that.Metrics) { + return false + } + for i, vx := range this.Metrics { + vy := that.Metrics[i] + if string(vx) != string(vy) { + return false + } + } + if len(this.Traces) != len(that.Traces) { + return false + } + for i, vx := range this.Traces { + vy := that.Traces[i] + if string(vx) != string(vy) { + return false + } + } + if len(this.Logs) != len(that.Logs) { + return false + } + for i, vx := range this.Logs { + vy := that.Logs[i] + if string(vx) != string(vy) { + return false + } + } + if len(this.Config) != len(that.Config) { + return false + } + for i, vx := range this.Config { + vy, ok := that.Config[i] + if !ok { + return false + } + if vx != vy { + return false + } + } + if len(this.Prommetrics) != len(that.Prommetrics) { + return false + } + for i, vx := range this.Prommetrics { + vy := that.Prommetrics[i] + if p, q := vx, vy; p != q { + if p == nil { + p = &PrometheusMetric{} + } + if q == nil { + q = &PrometheusMetric{} + } + if !p.EqualVT(q) { + return false + } + } + } + return string(this.unknownFields) == string(that.unknownFields) +} + +func (this *Passthrough) EqualMessageVT(thatMsg any) bool { + that, ok := thatMsg.(*Passthrough) + if !ok { + return false + } + return this.EqualVT(that) +} +func (this *PrometheusMetric) EqualVT(that *PrometheusMetric) bool { + if this == that { + return true + } else if this == nil || that == nil { + return false + } + if len(this.Labels) != len(that.Labels) { + return false + } + for i, vx := range this.Labels { + vy := that.Labels[i] + if p, q := vx, vy; p != q { + if p == nil { + p = &Label{} + } + if q == nil { + q = &Label{} + } + if !p.EqualVT(q) { + return false + } + } + } + if this.Value != that.Value { + return false + } + if this.Timestampms != that.Timestampms { + return false + } + return string(this.unknownFields) == string(that.unknownFields) +} + +func (this *PrometheusMetric) EqualMessageVT(thatMsg any) bool { + that, ok := thatMsg.(*PrometheusMetric) + if !ok { + return false + } + return this.EqualVT(that) +} +func (this *Label) EqualVT(that *Label) bool { + if this == that { + return true + } else if this == nil || that == nil { + return false + } + if this.Name != that.Name { + return false + } + if this.Value != that.Value { + return false + } + return string(this.unknownFields) == string(that.unknownFields) +} + +func (this *Label) EqualMessageVT(thatMsg any) bool { + that, ok := thatMsg.(*Label) + if !ok { + return false + } + return this.EqualVT(that) +} +func (m *Passthrough) MarshalVT() (dAtA []byte, err error) { + if m == nil { + return nil, nil + } + size := m.SizeVT() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBufferVT(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *Passthrough) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *Passthrough) MarshalToSizedBufferVT(dAtA []byte) (int, error) { + if m == nil { + return 0, nil + } + i := len(dAtA) + _ = i + var l int + _ = l + if m.unknownFields != nil { + i -= len(m.unknownFields) + copy(dAtA[i:], m.unknownFields) + } + if len(m.Prommetrics) > 0 { + for iNdEx := len(m.Prommetrics) - 1; iNdEx >= 0; iNdEx-- { + size, err := m.Prommetrics[iNdEx].MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protobuf_go_lite.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x2a + } + } + if len(m.Config) > 0 { + for k := range m.Config { + v := m.Config[k] + baseI := i + i -= len(v) + copy(dAtA[i:], v) + i = protobuf_go_lite.EncodeVarint(dAtA, i, uint64(len(v))) + i-- + dAtA[i] = 0x12 + i -= len(k) + copy(dAtA[i:], k) + i = protobuf_go_lite.EncodeVarint(dAtA, i, uint64(len(k))) + i-- + dAtA[i] = 0xa + i = protobuf_go_lite.EncodeVarint(dAtA, i, uint64(baseI-i)) + i-- + dAtA[i] = 0x22 + } + } + if len(m.Logs) > 0 { + for iNdEx := len(m.Logs) - 1; iNdEx >= 0; iNdEx-- { + i -= len(m.Logs[iNdEx]) + copy(dAtA[i:], m.Logs[iNdEx]) + i = protobuf_go_lite.EncodeVarint(dAtA, i, uint64(len(m.Logs[iNdEx]))) + i-- + dAtA[i] = 0x1a + } + } + if len(m.Traces) > 0 { + for iNdEx := len(m.Traces) - 1; iNdEx >= 0; iNdEx-- { + i -= len(m.Traces[iNdEx]) + copy(dAtA[i:], m.Traces[iNdEx]) + i = protobuf_go_lite.EncodeVarint(dAtA, i, uint64(len(m.Traces[iNdEx]))) + i-- + dAtA[i] = 0x12 + } + } + if len(m.Metrics) > 0 { + for iNdEx := len(m.Metrics) - 1; iNdEx >= 0; iNdEx-- { + i -= len(m.Metrics[iNdEx]) + copy(dAtA[i:], m.Metrics[iNdEx]) + i = protobuf_go_lite.EncodeVarint(dAtA, i, uint64(len(m.Metrics[iNdEx]))) + i-- + dAtA[i] = 0xa + } + } + return len(dAtA) - i, nil +} + +func (m *PrometheusMetric) MarshalVT() (dAtA []byte, err error) { + if m == nil { + return nil, nil + } + size := m.SizeVT() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBufferVT(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *PrometheusMetric) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *PrometheusMetric) MarshalToSizedBufferVT(dAtA []byte) (int, error) { + if m == nil { + return 0, nil + } + i := len(dAtA) + _ = i + var l int + _ = l + if m.unknownFields != nil { + i -= len(m.unknownFields) + copy(dAtA[i:], m.unknownFields) + } + if m.Timestampms != 0 { + i = protobuf_go_lite.EncodeVarint(dAtA, i, uint64(m.Timestampms)) + i-- + dAtA[i] = 0x18 + } + if m.Value != 0 { + i -= 8 + binary.LittleEndian.PutUint64(dAtA[i:], uint64(math.Float64bits(float64(m.Value)))) + i-- + dAtA[i] = 0x11 + } + if len(m.Labels) > 0 { + for iNdEx := len(m.Labels) - 1; iNdEx >= 0; iNdEx-- { + size, err := m.Labels[iNdEx].MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protobuf_go_lite.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0xa + } + } + return len(dAtA) - i, nil +} + +func (m *Label) MarshalVT() (dAtA []byte, err error) { + if m == nil { + return nil, nil + } + size := m.SizeVT() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBufferVT(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *Label) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *Label) MarshalToSizedBufferVT(dAtA []byte) (int, error) { + if m == nil { + return 0, nil + } + i := len(dAtA) + _ = i + var l int + _ = l + if m.unknownFields != nil { + i -= len(m.unknownFields) + copy(dAtA[i:], m.unknownFields) + } + if len(m.Value) > 0 { + i -= len(m.Value) + copy(dAtA[i:], m.Value) + i = protobuf_go_lite.EncodeVarint(dAtA, i, uint64(len(m.Value))) + i-- + dAtA[i] = 0x12 + } + if len(m.Name) > 0 { + i -= len(m.Name) + copy(dAtA[i:], m.Name) + i = protobuf_go_lite.EncodeVarint(dAtA, i, uint64(len(m.Name))) + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + +func (m *Passthrough) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if len(m.Metrics) > 0 { + for _, b := range m.Metrics { + l = len(b) + n += 1 + l + protobuf_go_lite.SizeOfVarint(uint64(l)) + } + } + if len(m.Traces) > 0 { + for _, b := range m.Traces { + l = len(b) + n += 1 + l + protobuf_go_lite.SizeOfVarint(uint64(l)) + } + } + if len(m.Logs) > 0 { + for _, b := range m.Logs { + l = len(b) + n += 1 + l + protobuf_go_lite.SizeOfVarint(uint64(l)) + } + } + if len(m.Config) > 0 { + for k, v := range m.Config { + _ = k + _ = v + mapEntrySize := 1 + len(k) + protobuf_go_lite.SizeOfVarint(uint64(len(k))) + 1 + len(v) + protobuf_go_lite.SizeOfVarint(uint64(len(v))) + n += mapEntrySize + 1 + protobuf_go_lite.SizeOfVarint(uint64(mapEntrySize)) + } + } + if len(m.Prommetrics) > 0 { + for _, e := range m.Prommetrics { + l = e.SizeVT() + n += 1 + l + protobuf_go_lite.SizeOfVarint(uint64(l)) + } + } + n += len(m.unknownFields) + return n +} + +func (m *PrometheusMetric) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if len(m.Labels) > 0 { + for _, e := range m.Labels { + l = e.SizeVT() + n += 1 + l + protobuf_go_lite.SizeOfVarint(uint64(l)) + } + } + if m.Value != 0 { + n += 9 + } + if m.Timestampms != 0 { + n += 1 + protobuf_go_lite.SizeOfVarint(uint64(m.Timestampms)) + } + n += len(m.unknownFields) + return n +} + +func (m *Label) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.Name) + if l > 0 { + n += 1 + l + protobuf_go_lite.SizeOfVarint(uint64(l)) + } + l = len(m.Value) + if l > 0 { + n += 1 + l + protobuf_go_lite.SizeOfVarint(uint64(l)) + } + n += len(m.unknownFields) + return n +} + +func (m *Passthrough) UnmarshalVT(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protobuf_go_lite.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: Passthrough: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: Passthrough: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Metrics", wireType) + } + var byteLen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protobuf_go_lite.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + byteLen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if byteLen < 0 { + return protobuf_go_lite.ErrInvalidLength + } + postIndex := iNdEx + byteLen + if postIndex < 0 { + return protobuf_go_lite.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Metrics = append(m.Metrics, make([]byte, postIndex-iNdEx)) + copy(m.Metrics[len(m.Metrics)-1], dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Traces", wireType) + } + var byteLen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protobuf_go_lite.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + byteLen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if byteLen < 0 { + return protobuf_go_lite.ErrInvalidLength + } + postIndex := iNdEx + byteLen + if postIndex < 0 { + return protobuf_go_lite.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Traces = append(m.Traces, make([]byte, postIndex-iNdEx)) + copy(m.Traces[len(m.Traces)-1], dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Logs", wireType) + } + var byteLen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protobuf_go_lite.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + byteLen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if byteLen < 0 { + return protobuf_go_lite.ErrInvalidLength + } + postIndex := iNdEx + byteLen + if postIndex < 0 { + return protobuf_go_lite.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Logs = append(m.Logs, make([]byte, postIndex-iNdEx)) + copy(m.Logs[len(m.Logs)-1], dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 4: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Config", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protobuf_go_lite.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protobuf_go_lite.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protobuf_go_lite.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.Config == nil { + m.Config = make(map[string]string) + } + var mapkey string + var mapvalue string + for iNdEx < postIndex { + entryPreIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protobuf_go_lite.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + if fieldNum == 1 { + var stringLenmapkey uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protobuf_go_lite.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLenmapkey |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLenmapkey := int(stringLenmapkey) + if intStringLenmapkey < 0 { + return protobuf_go_lite.ErrInvalidLength + } + postStringIndexmapkey := iNdEx + intStringLenmapkey + if postStringIndexmapkey < 0 { + return protobuf_go_lite.ErrInvalidLength + } + if postStringIndexmapkey > l { + return io.ErrUnexpectedEOF + } + mapkey = string(dAtA[iNdEx:postStringIndexmapkey]) + iNdEx = postStringIndexmapkey + } else if fieldNum == 2 { + var stringLenmapvalue uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protobuf_go_lite.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLenmapvalue |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLenmapvalue := int(stringLenmapvalue) + if intStringLenmapvalue < 0 { + return protobuf_go_lite.ErrInvalidLength + } + postStringIndexmapvalue := iNdEx + intStringLenmapvalue + if postStringIndexmapvalue < 0 { + return protobuf_go_lite.ErrInvalidLength + } + if postStringIndexmapvalue > l { + return io.ErrUnexpectedEOF + } + mapvalue = string(dAtA[iNdEx:postStringIndexmapvalue]) + iNdEx = postStringIndexmapvalue + } else { + iNdEx = entryPreIndex + skippy, err := protobuf_go_lite.Skip(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protobuf_go_lite.ErrInvalidLength + } + if (iNdEx + skippy) > postIndex { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + m.Config[mapkey] = mapvalue + iNdEx = postIndex + case 5: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Prommetrics", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protobuf_go_lite.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protobuf_go_lite.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protobuf_go_lite.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Prommetrics = append(m.Prommetrics, &PrometheusMetric{}) + if err := m.Prommetrics[len(m.Prommetrics)-1].UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := protobuf_go_lite.Skip(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protobuf_go_lite.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *PrometheusMetric) UnmarshalVT(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protobuf_go_lite.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: PrometheusMetric: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: PrometheusMetric: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Labels", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protobuf_go_lite.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protobuf_go_lite.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protobuf_go_lite.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Labels = append(m.Labels, &Label{}) + if err := m.Labels[len(m.Labels)-1].UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 2: + if wireType != 1 { + return fmt.Errorf("proto: wrong wireType = %d for field Value", wireType) + } + var v uint64 + if (iNdEx + 8) > l { + return io.ErrUnexpectedEOF + } + v = uint64(binary.LittleEndian.Uint64(dAtA[iNdEx:])) + iNdEx += 8 + m.Value = float64(math.Float64frombits(v)) + case 3: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Timestampms", wireType) + } + m.Timestampms = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protobuf_go_lite.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.Timestampms |= int64(b&0x7F) << shift + if b < 0x80 { + break + } + } + default: + iNdEx = preIndex + skippy, err := protobuf_go_lite.Skip(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protobuf_go_lite.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *Label) UnmarshalVT(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protobuf_go_lite.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: Label: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: Label: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Name", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protobuf_go_lite.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protobuf_go_lite.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protobuf_go_lite.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Name = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Value", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protobuf_go_lite.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protobuf_go_lite.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protobuf_go_lite.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Value = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := protobuf_go_lite.Skip(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protobuf_go_lite.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} diff --git a/internal/component/compute/process/passthrough.pb.go b/internal/component/compute/process/passthrough.pb.go new file mode 100644 index 0000000000..cab440db5c --- /dev/null +++ b/internal/component/compute/process/passthrough.pb.go @@ -0,0 +1,1197 @@ +// Code generated by protoc-gen-go-lite. DO NOT EDIT. +// protoc-gen-go-lite version: v0.8.0 +// source: passthrough.proto + +package process + +import ( + binary "encoding/binary" + fmt "fmt" + protobuf_go_lite "github.com/aperturerobotics/protobuf-go-lite" + io "io" + math "math" +) + +type Passthrough struct { + unknownFields []byte + Metrics [][]byte `protobuf:"bytes,1,rep,name=metrics,proto3" json:"metrics,omitempty"` + Traces [][]byte `protobuf:"bytes,2,rep,name=traces,proto3" json:"traces,omitempty"` + Logs [][]byte `protobuf:"bytes,3,rep,name=logs,proto3" json:"logs,omitempty"` + Config map[string]string `protobuf:"bytes,4,rep,name=config,proto3" json:"config,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` + Prommetrics []*PrometheusMetric `protobuf:"bytes,5,rep,name=prommetrics,proto3" json:"prommetrics,omitempty"` +} + +func (x *Passthrough) Reset() { + *x = Passthrough{} +} + +func (*Passthrough) ProtoMessage() {} + +func (x *Passthrough) GetMetrics() [][]byte { + if x != nil { + return x.Metrics + } + return nil +} + +func (x *Passthrough) GetTraces() [][]byte { + if x != nil { + return x.Traces + } + return nil +} + +func (x *Passthrough) GetLogs() [][]byte { + if x != nil { + return x.Logs + } + return nil +} + +func (x *Passthrough) GetConfig() map[string]string { + if x != nil { + return x.Config + } + return nil +} + +func (x *Passthrough) GetPrommetrics() []*PrometheusMetric { + if x != nil { + return x.Prommetrics + } + return nil +} + +type PrometheusMetric struct { + unknownFields []byte + Labels []*Label `protobuf:"bytes,1,rep,name=Labels,proto3" json:"Labels,omitempty"` + Value float64 `protobuf:"fixed64,2,opt,name=value,proto3" json:"value,omitempty"` + Timestampms int64 `protobuf:"varint,3,opt,name=timestampms,proto3" json:"timestampms,omitempty"` +} + +func (x *PrometheusMetric) Reset() { + *x = PrometheusMetric{} +} + +func (*PrometheusMetric) ProtoMessage() {} + +func (x *PrometheusMetric) GetLabels() []*Label { + if x != nil { + return x.Labels + } + return nil +} + +func (x *PrometheusMetric) GetValue() float64 { + if x != nil { + return x.Value + } + return 0 +} + +func (x *PrometheusMetric) GetTimestampms() int64 { + if x != nil { + return x.Timestampms + } + return 0 +} + +type Label struct { + unknownFields []byte + Name string `protobuf:"bytes,1,opt,name=Name,proto3" json:"Name,omitempty"` + Value string `protobuf:"bytes,2,opt,name=Value,proto3" json:"Value,omitempty"` +} + +func (x *Label) Reset() { + *x = Label{} +} + +func (*Label) ProtoMessage() {} + +func (x *Label) GetName() string { + if x != nil { + return x.Name + } + return "" +} + +func (x *Label) GetValue() string { + if x != nil { + return x.Value + } + return "" +} + +type Passthrough_ConfigEntry struct { + unknownFields []byte + Key string `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"` + Value string `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"` +} + +func (x *Passthrough_ConfigEntry) Reset() { + *x = Passthrough_ConfigEntry{} +} + +func (*Passthrough_ConfigEntry) ProtoMessage() {} + +func (x *Passthrough_ConfigEntry) GetKey() string { + if x != nil { + return x.Key + } + return "" +} + +func (x *Passthrough_ConfigEntry) GetValue() string { + if x != nil { + return x.Value + } + return "" +} + +func (m *Passthrough) CloneVT() *Passthrough { + if m == nil { + return (*Passthrough)(nil) + } + r := new(Passthrough) + if rhs := m.Metrics; rhs != nil { + tmpContainer := make([][]byte, len(rhs)) + for k, v := range rhs { + tmpBytes := make([]byte, len(v)) + copy(tmpBytes, v) + tmpContainer[k] = tmpBytes + } + r.Metrics = tmpContainer + } + if rhs := m.Traces; rhs != nil { + tmpContainer := make([][]byte, len(rhs)) + for k, v := range rhs { + tmpBytes := make([]byte, len(v)) + copy(tmpBytes, v) + tmpContainer[k] = tmpBytes + } + r.Traces = tmpContainer + } + if rhs := m.Logs; rhs != nil { + tmpContainer := make([][]byte, len(rhs)) + for k, v := range rhs { + tmpBytes := make([]byte, len(v)) + copy(tmpBytes, v) + tmpContainer[k] = tmpBytes + } + r.Logs = tmpContainer + } + if rhs := m.Config; rhs != nil { + tmpContainer := make(map[string]string, len(rhs)) + for k, v := range rhs { + tmpContainer[k] = v + } + r.Config = tmpContainer + } + if rhs := m.Prommetrics; rhs != nil { + tmpContainer := make([]*PrometheusMetric, len(rhs)) + for k, v := range rhs { + tmpContainer[k] = v.CloneVT() + } + r.Prommetrics = tmpContainer + } + if len(m.unknownFields) > 0 { + r.unknownFields = make([]byte, len(m.unknownFields)) + copy(r.unknownFields, m.unknownFields) + } + return r +} + +func (m *Passthrough) CloneMessageVT() protobuf_go_lite.CloneMessage { + return m.CloneVT() +} + +func (m *PrometheusMetric) CloneVT() *PrometheusMetric { + if m == nil { + return (*PrometheusMetric)(nil) + } + r := new(PrometheusMetric) + r.Value = m.Value + r.Timestampms = m.Timestampms + if rhs := m.Labels; rhs != nil { + tmpContainer := make([]*Label, len(rhs)) + for k, v := range rhs { + tmpContainer[k] = v.CloneVT() + } + r.Labels = tmpContainer + } + if len(m.unknownFields) > 0 { + r.unknownFields = make([]byte, len(m.unknownFields)) + copy(r.unknownFields, m.unknownFields) + } + return r +} + +func (m *PrometheusMetric) CloneMessageVT() protobuf_go_lite.CloneMessage { + return m.CloneVT() +} + +func (m *Label) CloneVT() *Label { + if m == nil { + return (*Label)(nil) + } + r := new(Label) + r.Name = m.Name + r.Value = m.Value + if len(m.unknownFields) > 0 { + r.unknownFields = make([]byte, len(m.unknownFields)) + copy(r.unknownFields, m.unknownFields) + } + return r +} + +func (m *Label) CloneMessageVT() protobuf_go_lite.CloneMessage { + return m.CloneVT() +} + +func (this *Passthrough) EqualVT(that *Passthrough) bool { + if this == that { + return true + } else if this == nil || that == nil { + return false + } + if len(this.Metrics) != len(that.Metrics) { + return false + } + for i, vx := range this.Metrics { + vy := that.Metrics[i] + if string(vx) != string(vy) { + return false + } + } + if len(this.Traces) != len(that.Traces) { + return false + } + for i, vx := range this.Traces { + vy := that.Traces[i] + if string(vx) != string(vy) { + return false + } + } + if len(this.Logs) != len(that.Logs) { + return false + } + for i, vx := range this.Logs { + vy := that.Logs[i] + if string(vx) != string(vy) { + return false + } + } + if len(this.Config) != len(that.Config) { + return false + } + for i, vx := range this.Config { + vy, ok := that.Config[i] + if !ok { + return false + } + if vx != vy { + return false + } + } + if len(this.Prommetrics) != len(that.Prommetrics) { + return false + } + for i, vx := range this.Prommetrics { + vy := that.Prommetrics[i] + if p, q := vx, vy; p != q { + if p == nil { + p = &PrometheusMetric{} + } + if q == nil { + q = &PrometheusMetric{} + } + if !p.EqualVT(q) { + return false + } + } + } + return string(this.unknownFields) == string(that.unknownFields) +} + +func (this *Passthrough) EqualMessageVT(thatMsg any) bool { + that, ok := thatMsg.(*Passthrough) + if !ok { + return false + } + return this.EqualVT(that) +} +func (this *PrometheusMetric) EqualVT(that *PrometheusMetric) bool { + if this == that { + return true + } else if this == nil || that == nil { + return false + } + if len(this.Labels) != len(that.Labels) { + return false + } + for i, vx := range this.Labels { + vy := that.Labels[i] + if p, q := vx, vy; p != q { + if p == nil { + p = &Label{} + } + if q == nil { + q = &Label{} + } + if !p.EqualVT(q) { + return false + } + } + } + if this.Value != that.Value { + return false + } + if this.Timestampms != that.Timestampms { + return false + } + return string(this.unknownFields) == string(that.unknownFields) +} + +func (this *PrometheusMetric) EqualMessageVT(thatMsg any) bool { + that, ok := thatMsg.(*PrometheusMetric) + if !ok { + return false + } + return this.EqualVT(that) +} +func (this *Label) EqualVT(that *Label) bool { + if this == that { + return true + } else if this == nil || that == nil { + return false + } + if this.Name != that.Name { + return false + } + if this.Value != that.Value { + return false + } + return string(this.unknownFields) == string(that.unknownFields) +} + +func (this *Label) EqualMessageVT(thatMsg any) bool { + that, ok := thatMsg.(*Label) + if !ok { + return false + } + return this.EqualVT(that) +} +func (m *Passthrough) MarshalVT() (dAtA []byte, err error) { + if m == nil { + return nil, nil + } + size := m.SizeVT() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBufferVT(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *Passthrough) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *Passthrough) MarshalToSizedBufferVT(dAtA []byte) (int, error) { + if m == nil { + return 0, nil + } + i := len(dAtA) + _ = i + var l int + _ = l + if m.unknownFields != nil { + i -= len(m.unknownFields) + copy(dAtA[i:], m.unknownFields) + } + if len(m.Prommetrics) > 0 { + for iNdEx := len(m.Prommetrics) - 1; iNdEx >= 0; iNdEx-- { + size, err := m.Prommetrics[iNdEx].MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protobuf_go_lite.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0x2a + } + } + if len(m.Config) > 0 { + for k := range m.Config { + v := m.Config[k] + baseI := i + i -= len(v) + copy(dAtA[i:], v) + i = protobuf_go_lite.EncodeVarint(dAtA, i, uint64(len(v))) + i-- + dAtA[i] = 0x12 + i -= len(k) + copy(dAtA[i:], k) + i = protobuf_go_lite.EncodeVarint(dAtA, i, uint64(len(k))) + i-- + dAtA[i] = 0xa + i = protobuf_go_lite.EncodeVarint(dAtA, i, uint64(baseI-i)) + i-- + dAtA[i] = 0x22 + } + } + if len(m.Logs) > 0 { + for iNdEx := len(m.Logs) - 1; iNdEx >= 0; iNdEx-- { + i -= len(m.Logs[iNdEx]) + copy(dAtA[i:], m.Logs[iNdEx]) + i = protobuf_go_lite.EncodeVarint(dAtA, i, uint64(len(m.Logs[iNdEx]))) + i-- + dAtA[i] = 0x1a + } + } + if len(m.Traces) > 0 { + for iNdEx := len(m.Traces) - 1; iNdEx >= 0; iNdEx-- { + i -= len(m.Traces[iNdEx]) + copy(dAtA[i:], m.Traces[iNdEx]) + i = protobuf_go_lite.EncodeVarint(dAtA, i, uint64(len(m.Traces[iNdEx]))) + i-- + dAtA[i] = 0x12 + } + } + if len(m.Metrics) > 0 { + for iNdEx := len(m.Metrics) - 1; iNdEx >= 0; iNdEx-- { + i -= len(m.Metrics[iNdEx]) + copy(dAtA[i:], m.Metrics[iNdEx]) + i = protobuf_go_lite.EncodeVarint(dAtA, i, uint64(len(m.Metrics[iNdEx]))) + i-- + dAtA[i] = 0xa + } + } + return len(dAtA) - i, nil +} + +func (m *PrometheusMetric) MarshalVT() (dAtA []byte, err error) { + if m == nil { + return nil, nil + } + size := m.SizeVT() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBufferVT(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *PrometheusMetric) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *PrometheusMetric) MarshalToSizedBufferVT(dAtA []byte) (int, error) { + if m == nil { + return 0, nil + } + i := len(dAtA) + _ = i + var l int + _ = l + if m.unknownFields != nil { + i -= len(m.unknownFields) + copy(dAtA[i:], m.unknownFields) + } + if m.Timestampms != 0 { + i = protobuf_go_lite.EncodeVarint(dAtA, i, uint64(m.Timestampms)) + i-- + dAtA[i] = 0x18 + } + if m.Value != 0 { + i -= 8 + binary.LittleEndian.PutUint64(dAtA[i:], uint64(math.Float64bits(float64(m.Value)))) + i-- + dAtA[i] = 0x11 + } + if len(m.Labels) > 0 { + for iNdEx := len(m.Labels) - 1; iNdEx >= 0; iNdEx-- { + size, err := m.Labels[iNdEx].MarshalToSizedBufferVT(dAtA[:i]) + if err != nil { + return 0, err + } + i -= size + i = protobuf_go_lite.EncodeVarint(dAtA, i, uint64(size)) + i-- + dAtA[i] = 0xa + } + } + return len(dAtA) - i, nil +} + +func (m *Label) MarshalVT() (dAtA []byte, err error) { + if m == nil { + return nil, nil + } + size := m.SizeVT() + dAtA = make([]byte, size) + n, err := m.MarshalToSizedBufferVT(dAtA[:size]) + if err != nil { + return nil, err + } + return dAtA[:n], nil +} + +func (m *Label) MarshalToVT(dAtA []byte) (int, error) { + size := m.SizeVT() + return m.MarshalToSizedBufferVT(dAtA[:size]) +} + +func (m *Label) MarshalToSizedBufferVT(dAtA []byte) (int, error) { + if m == nil { + return 0, nil + } + i := len(dAtA) + _ = i + var l int + _ = l + if m.unknownFields != nil { + i -= len(m.unknownFields) + copy(dAtA[i:], m.unknownFields) + } + if len(m.Value) > 0 { + i -= len(m.Value) + copy(dAtA[i:], m.Value) + i = protobuf_go_lite.EncodeVarint(dAtA, i, uint64(len(m.Value))) + i-- + dAtA[i] = 0x12 + } + if len(m.Name) > 0 { + i -= len(m.Name) + copy(dAtA[i:], m.Name) + i = protobuf_go_lite.EncodeVarint(dAtA, i, uint64(len(m.Name))) + i-- + dAtA[i] = 0xa + } + return len(dAtA) - i, nil +} + +func (m *Passthrough) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if len(m.Metrics) > 0 { + for _, b := range m.Metrics { + l = len(b) + n += 1 + l + protobuf_go_lite.SizeOfVarint(uint64(l)) + } + } + if len(m.Traces) > 0 { + for _, b := range m.Traces { + l = len(b) + n += 1 + l + protobuf_go_lite.SizeOfVarint(uint64(l)) + } + } + if len(m.Logs) > 0 { + for _, b := range m.Logs { + l = len(b) + n += 1 + l + protobuf_go_lite.SizeOfVarint(uint64(l)) + } + } + if len(m.Config) > 0 { + for k, v := range m.Config { + _ = k + _ = v + mapEntrySize := 1 + len(k) + protobuf_go_lite.SizeOfVarint(uint64(len(k))) + 1 + len(v) + protobuf_go_lite.SizeOfVarint(uint64(len(v))) + n += mapEntrySize + 1 + protobuf_go_lite.SizeOfVarint(uint64(mapEntrySize)) + } + } + if len(m.Prommetrics) > 0 { + for _, e := range m.Prommetrics { + l = e.SizeVT() + n += 1 + l + protobuf_go_lite.SizeOfVarint(uint64(l)) + } + } + n += len(m.unknownFields) + return n +} + +func (m *PrometheusMetric) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + if len(m.Labels) > 0 { + for _, e := range m.Labels { + l = e.SizeVT() + n += 1 + l + protobuf_go_lite.SizeOfVarint(uint64(l)) + } + } + if m.Value != 0 { + n += 9 + } + if m.Timestampms != 0 { + n += 1 + protobuf_go_lite.SizeOfVarint(uint64(m.Timestampms)) + } + n += len(m.unknownFields) + return n +} + +func (m *Label) SizeVT() (n int) { + if m == nil { + return 0 + } + var l int + _ = l + l = len(m.Name) + if l > 0 { + n += 1 + l + protobuf_go_lite.SizeOfVarint(uint64(l)) + } + l = len(m.Value) + if l > 0 { + n += 1 + l + protobuf_go_lite.SizeOfVarint(uint64(l)) + } + n += len(m.unknownFields) + return n +} + +func (m *Passthrough) UnmarshalVT(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protobuf_go_lite.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: Passthrough: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: Passthrough: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Metrics", wireType) + } + var byteLen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protobuf_go_lite.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + byteLen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if byteLen < 0 { + return protobuf_go_lite.ErrInvalidLength + } + postIndex := iNdEx + byteLen + if postIndex < 0 { + return protobuf_go_lite.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Metrics = append(m.Metrics, make([]byte, postIndex-iNdEx)) + copy(m.Metrics[len(m.Metrics)-1], dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Traces", wireType) + } + var byteLen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protobuf_go_lite.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + byteLen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if byteLen < 0 { + return protobuf_go_lite.ErrInvalidLength + } + postIndex := iNdEx + byteLen + if postIndex < 0 { + return protobuf_go_lite.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Traces = append(m.Traces, make([]byte, postIndex-iNdEx)) + copy(m.Traces[len(m.Traces)-1], dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 3: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Logs", wireType) + } + var byteLen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protobuf_go_lite.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + byteLen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if byteLen < 0 { + return protobuf_go_lite.ErrInvalidLength + } + postIndex := iNdEx + byteLen + if postIndex < 0 { + return protobuf_go_lite.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Logs = append(m.Logs, make([]byte, postIndex-iNdEx)) + copy(m.Logs[len(m.Logs)-1], dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 4: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Config", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protobuf_go_lite.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protobuf_go_lite.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protobuf_go_lite.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + if m.Config == nil { + m.Config = make(map[string]string) + } + var mapkey string + var mapvalue string + for iNdEx < postIndex { + entryPreIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protobuf_go_lite.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + if fieldNum == 1 { + var stringLenmapkey uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protobuf_go_lite.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLenmapkey |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLenmapkey := int(stringLenmapkey) + if intStringLenmapkey < 0 { + return protobuf_go_lite.ErrInvalidLength + } + postStringIndexmapkey := iNdEx + intStringLenmapkey + if postStringIndexmapkey < 0 { + return protobuf_go_lite.ErrInvalidLength + } + if postStringIndexmapkey > l { + return io.ErrUnexpectedEOF + } + mapkey = string(dAtA[iNdEx:postStringIndexmapkey]) + iNdEx = postStringIndexmapkey + } else if fieldNum == 2 { + var stringLenmapvalue uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protobuf_go_lite.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLenmapvalue |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLenmapvalue := int(stringLenmapvalue) + if intStringLenmapvalue < 0 { + return protobuf_go_lite.ErrInvalidLength + } + postStringIndexmapvalue := iNdEx + intStringLenmapvalue + if postStringIndexmapvalue < 0 { + return protobuf_go_lite.ErrInvalidLength + } + if postStringIndexmapvalue > l { + return io.ErrUnexpectedEOF + } + mapvalue = string(dAtA[iNdEx:postStringIndexmapvalue]) + iNdEx = postStringIndexmapvalue + } else { + iNdEx = entryPreIndex + skippy, err := protobuf_go_lite.Skip(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protobuf_go_lite.ErrInvalidLength + } + if (iNdEx + skippy) > postIndex { + return io.ErrUnexpectedEOF + } + iNdEx += skippy + } + } + m.Config[mapkey] = mapvalue + iNdEx = postIndex + case 5: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Prommetrics", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protobuf_go_lite.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protobuf_go_lite.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protobuf_go_lite.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Prommetrics = append(m.Prommetrics, &PrometheusMetric{}) + if err := m.Prommetrics[len(m.Prommetrics)-1].UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := protobuf_go_lite.Skip(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protobuf_go_lite.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *PrometheusMetric) UnmarshalVT(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protobuf_go_lite.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: PrometheusMetric: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: PrometheusMetric: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Labels", wireType) + } + var msglen int + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protobuf_go_lite.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + msglen |= int(b&0x7F) << shift + if b < 0x80 { + break + } + } + if msglen < 0 { + return protobuf_go_lite.ErrInvalidLength + } + postIndex := iNdEx + msglen + if postIndex < 0 { + return protobuf_go_lite.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Labels = append(m.Labels, &Label{}) + if err := m.Labels[len(m.Labels)-1].UnmarshalVT(dAtA[iNdEx:postIndex]); err != nil { + return err + } + iNdEx = postIndex + case 2: + if wireType != 1 { + return fmt.Errorf("proto: wrong wireType = %d for field Value", wireType) + } + var v uint64 + if (iNdEx + 8) > l { + return io.ErrUnexpectedEOF + } + v = uint64(binary.LittleEndian.Uint64(dAtA[iNdEx:])) + iNdEx += 8 + m.Value = float64(math.Float64frombits(v)) + case 3: + if wireType != 0 { + return fmt.Errorf("proto: wrong wireType = %d for field Timestampms", wireType) + } + m.Timestampms = 0 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protobuf_go_lite.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + m.Timestampms |= int64(b&0x7F) << shift + if b < 0x80 { + break + } + } + default: + iNdEx = preIndex + skippy, err := protobuf_go_lite.Skip(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protobuf_go_lite.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} +func (m *Label) UnmarshalVT(dAtA []byte) error { + l := len(dAtA) + iNdEx := 0 + for iNdEx < l { + preIndex := iNdEx + var wire uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protobuf_go_lite.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + wire |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + fieldNum := int32(wire >> 3) + wireType := int(wire & 0x7) + if wireType == 4 { + return fmt.Errorf("proto: Label: wiretype end group for non-group") + } + if fieldNum <= 0 { + return fmt.Errorf("proto: Label: illegal tag %d (wire type %d)", fieldNum, wire) + } + switch fieldNum { + case 1: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Name", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protobuf_go_lite.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protobuf_go_lite.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protobuf_go_lite.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Name = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + case 2: + if wireType != 2 { + return fmt.Errorf("proto: wrong wireType = %d for field Value", wireType) + } + var stringLen uint64 + for shift := uint(0); ; shift += 7 { + if shift >= 64 { + return protobuf_go_lite.ErrIntOverflow + } + if iNdEx >= l { + return io.ErrUnexpectedEOF + } + b := dAtA[iNdEx] + iNdEx++ + stringLen |= uint64(b&0x7F) << shift + if b < 0x80 { + break + } + } + intStringLen := int(stringLen) + if intStringLen < 0 { + return protobuf_go_lite.ErrInvalidLength + } + postIndex := iNdEx + intStringLen + if postIndex < 0 { + return protobuf_go_lite.ErrInvalidLength + } + if postIndex > l { + return io.ErrUnexpectedEOF + } + m.Value = string(dAtA[iNdEx:postIndex]) + iNdEx = postIndex + default: + iNdEx = preIndex + skippy, err := protobuf_go_lite.Skip(dAtA[iNdEx:]) + if err != nil { + return err + } + if (skippy < 0) || (iNdEx+skippy) < 0 { + return protobuf_go_lite.ErrInvalidLength + } + if (iNdEx + skippy) > l { + return io.ErrUnexpectedEOF + } + m.unknownFields = append(m.unknownFields, dAtA[iNdEx:iNdEx+skippy]...) + iNdEx += skippy + } + } + + if iNdEx > l { + return io.ErrUnexpectedEOF + } + return nil +} diff --git a/internal/component/compute/process/process.go b/internal/component/compute/process/process.go new file mode 100644 index 0000000000..e82279c018 --- /dev/null +++ b/internal/component/compute/process/process.go @@ -0,0 +1,126 @@ +package process + +import ( + "context" + "maps" + "slices" + "sync" + + "github.com/grafana/alloy/internal/component" + "github.com/grafana/alloy/internal/component/common/loki" + "github.com/grafana/alloy/internal/component/prometheus" + "github.com/grafana/alloy/internal/featuregate" + "github.com/prometheus/prometheus/model/labels" + "github.com/prometheus/prometheus/storage" +) + +func init() { + component.Register(component.Registration{ + Name: "compute.process", + Stability: featuregate.StabilityExperimental, + Args: Arguments{}, + Exports: Exports{}, + + Build: func(opts component.Options, args component.Arguments) (component.Component, error) { + return New(opts, args.(Arguments)) + }, + }) +} + +type Component struct { + mut sync.RWMutex + wasm *WasmPlugin + loki loki.LogsReceiver + args Arguments + opts component.Options +} + +func New(opts component.Options, args Arguments) (*Component, error) { + wp, err := NewPlugin(args.Wasm, args.Config, context.TODO()) + if err != nil { + return nil, err + } + + c := &Component{ + wasm: wp, + opts: opts, + args: args, + } + c.opts.OnStateChange(Exports{ + PrometheusReceiver: c, + LokiReceiver: c.loki, + }) + return c, nil +} + +func (c *Component) Run(ctx context.Context) error { + <-ctx.Done() + return nil +} + +func (c *Component) Update(args component.Arguments) error { + c.mut.Lock() + defer c.mut.Unlock() + + if slices.Equal(c.args.Wasm, args.(Arguments).Wasm) && maps.Equal(c.args.Config, args.(Arguments).Config) { + return nil + } + c.args = args.(Arguments) + + return nil +} + +func (c *Component) Appender(ctx context.Context) prometheus.BulkAppender { + return &bulkAppender{ + ctx: ctx, + wasm: c.wasm, + next: c.args.PrometheusForwardTo, + } +} + +type bulkAppender struct { + ctx context.Context + wasm *WasmPlugin + next storage.Appender +} + +func (b *bulkAppender) Append(metadata map[string]string, metrics []prometheus.PromMetric) error { + pt := &Passthrough{ + // TODO reduce the number of random objects that + // represent the same thing. + Prommetrics: make([]*PrometheusMetric, len(metrics)), + } + for i, m := range metrics { + labels := make([]*Label, len(m.Labels)) + for j, l := range m.Labels { + labels[j] = &Label{ + Name: l.Name, + Value: l.Value, + } + } + pt.Prommetrics[i] = &PrometheusMetric{ + Value: m.Value, + Timestampms: m.TS, + Labels: labels, + } + } + outpt, err := b.wasm.Process(pt) + if err != nil { + return err + } + for _, m := range outpt.Prommetrics { + labelsBack := make(labels.Labels, len(m.Labels)) + for i, l := range m.Labels { + labelsBack[i] = labels.Label{ + Name: l.Name, + Value: l.Value, + } + } + // We explicitly dont care about errors from append + _, _ = b.next.Append(0, labelsBack, m.Timestampms, m.Value) + } + // We explicitly dont care about errors from commit + _ = b.next.Commit() + return nil + +} diff --git a/internal/component/compute/process/process_test.go b/internal/component/compute/process/process_test.go new file mode 100644 index 0000000000..d10b4c5520 --- /dev/null +++ b/internal/component/compute/process/process_test.go @@ -0,0 +1,108 @@ +package process + +import ( + "context" + "github.com/prometheus/prometheus/model/exemplar" + "github.com/prometheus/prometheus/model/metadata" + "os" + "path/filepath" + "sync/atomic" + "testing" + "time" + + "github.com/grafana/alloy/internal/component" + "github.com/grafana/alloy/internal/component/prometheus" + "github.com/prometheus/prometheus/model/histogram" + "github.com/prometheus/prometheus/model/labels" + "github.com/prometheus/prometheus/storage" + "github.com/stretchr/testify/require" +) + +func TestProcess(t *testing.T) { + bb, err := os.ReadFile(filepath.Join(".", "examples", "go", "restrict", "main.wasm")) + require.NoError(t, err) + ta := &testAppendable{ts: t} + c, err := New(component.Options{ + OnStateChange: func(e component.Exports) { + + }, + }, Arguments{ + Wasm: bb, + Config: map[string]string{ + "allowed_services": "cool,not_here", + }, + PrometheusForwardTo: ta, + }) + require.NoError(t, err) + ctx := context.Background() + ctx, cancel := context.WithTimeout(ctx, 10*time.Second) + defer cancel() + go c.Run(ctx) + bulk := c.Appender(ctx) + metrics := make([]prometheus.PromMetric, 0) + for i := 0; i < 1000; i++ { + metrics = append(metrics, prometheus.PromMetric{ + Value: 1, + TS: 1, + Labels: labels.FromStrings("service", "cool"), + }) + } + for i := 0; i < 10; i++ { + metrics = append(metrics, prometheus.PromMetric{ + Value: 1, + TS: 1, + Labels: labels.FromStrings("service", "warm"), + }) + } + + err = bulk.Append(nil, metrics) + require.NoError(t, err) + // There should only be 1_000 since we dont want any warm services to make it through + require.Eventually(t, func() bool { + return ta.count.Load() == 1000 + }, 5*time.Second, 100*time.Millisecond) +} + +type testAppendable struct { + count atomic.Int32 + ts *testing.T +} + +func (ta *testAppendable) Commit() error { + return nil +} + +func (ta *testAppendable) Rollback() error { + //TODO implement me + panic("implement me") +} + +func (ta *testAppendable) Append(ref storage.SeriesRef, l labels.Labels, t int64, v float64) (storage.SeriesRef, error) { + require.True(ta.ts, l.Get("service") == "cool") + ta.count.Add(1) + return ref, nil +} + +func (ta *testAppendable) AppendExemplar(ref storage.SeriesRef, l labels.Labels, e exemplar.Exemplar) (storage.SeriesRef, error) { + //TODO implement me + panic("implement me") +} + +func (ta *testAppendable) AppendHistogram(ref storage.SeriesRef, l labels.Labels, t int64, h *histogram.Histogram, fh *histogram.FloatHistogram) (storage.SeriesRef, error) { + //TODO implement me + panic("implement me") +} + +func (ta *testAppendable) UpdateMetadata(ref storage.SeriesRef, l labels.Labels, m metadata.Metadata) (storage.SeriesRef, error) { + //TODO implement me + panic("implement me") +} + +func (ta *testAppendable) AppendCTZeroSample(ref storage.SeriesRef, l labels.Labels, t, ct int64) (storage.SeriesRef, error) { + //TODO implement me + panic("implement me") +} + +func (ta *testAppendable) Appender(_ context.Context) storage.Appender { + return ta +} diff --git a/internal/component/compute/process/types.go b/internal/component/compute/process/types.go new file mode 100644 index 0000000000..3408c47f0d --- /dev/null +++ b/internal/component/compute/process/types.go @@ -0,0 +1,19 @@ +package process + +import ( + "github.com/grafana/alloy/internal/component/common/loki" + "github.com/grafana/alloy/internal/component/prometheus" + "github.com/prometheus/prometheus/storage" +) + +type Arguments struct { + Wasm []byte `alloy:"wasm,attr"` + Config map[string]string `alloy:"config,attr,optional"` + LokiForwardTo []loki.LogsReceiver `alloy:"loki_forward_to,attr,optional"` + PrometheusForwardTo storage.Appender `alloy:"prometheus_forward_to,attr,optional"` +} + +type Exports struct { + PrometheusReceiver prometheus.BulkAppendable `alloy:"prometheus_receiver,attr"` + LokiReceiver loki.LogsReceiver `alloy:"loki_receiver,attr"` +} diff --git a/internal/component/compute/process/wasm.go b/internal/component/compute/process/wasm.go new file mode 100644 index 0000000000..6e41f20b8b --- /dev/null +++ b/internal/component/compute/process/wasm.go @@ -0,0 +1,70 @@ +package process + +import ( + "context" + "fmt" + "sync" + "time" + + extism "github.com/extism/go-sdk" +) + +type WasmPlugin struct { + mut sync.Mutex + plugin *extism.Plugin + config map[string]string +} + +func NewPlugin(wasm []byte, wasmConfig map[string]string, ctx context.Context) (*WasmPlugin, error) { + manifest := extism.Manifest{ + Wasm: []extism.Wasm{ + extism.WasmData{ + Data: wasm, + }, + }, + } + + config := extism.PluginConfig{ + EnableWasi: true, + } + plugin, err := extism.NewPlugin(ctx, manifest, config, []extism.HostFunction{}) + if err != nil { + return nil, err + } + return &WasmPlugin{ + plugin: plugin, + config: wasmConfig, + }, nil +} + +func (wp *WasmPlugin) UpdateConfig(config map[string]string) { + wp.mut.Lock() + defer wp.mut.Unlock() + + wp.config = config +} + +func (wp *WasmPlugin) Process(pt *Passthrough) (*Passthrough, error) { + // Only one process can be happening at a time. + wp.mut.Lock() + defer wp.mut.Unlock() + + pt.Config = wp.config + bb, err := pt.MarshalVT() + if err != nil { + return nil, err + } + ctx := context.Background() + ctx, cncl := context.WithTimeout(ctx, 2*time.Second) + defer cncl() + code, out, err := wp.plugin.CallWithContext(ctx, "process", bb) + if err != nil { + return nil, err + } + if code != 0 { + return nil, fmt.Errorf("plugin returned non-zero code: %d", code) + } + returnPT := &Passthrough{} + err = returnPT.UnmarshalVT(out) + return returnPT, err +} diff --git a/internal/component/prometheus/appendable.go b/internal/component/prometheus/appendable.go new file mode 100644 index 0000000000..8f945b6387 --- /dev/null +++ b/internal/component/prometheus/appendable.go @@ -0,0 +1,24 @@ +package prometheus + +import ( + "context" + + "github.com/prometheus/prometheus/model/labels" +) + +type BulkAppendable interface { + // Appender returns a new appender for the storage. The implementation + // can choose whether or not to use the context, for deadlines or to check + // for errors. + Appender(ctx context.Context) BulkAppender +} + +type PromMetric struct { + Value float64 + TS int64 + Labels labels.Labels +} + +type BulkAppender interface { + Append(metadata map[string]string, metrics []PromMetric) error +}