status-go/protocol/protobuf/anon_metrics.pb.go

189 lines
7.1 KiB
Go
Raw Normal View History

Anon Metrics Broadcast (#2198) * Protobufs and adapters * Added basic anon metric service and config init * Added fibonacci interval incrementer * Added basic Client.Start func and integrated interval incrementer * Added new processed field to app metrics table * Added id column to app metrics table * Added migration clean up * Added appmetrics GetUnprocessed and SetToProcessedByIDs and tests There was a wierd bug where metrics in the db that did not explicitly insert a value would be NULL, so could not be found by . In addition I've added a new primary id field to the app_metrics table so that updates could be done against very specific metric rows. * Updated adaptors and db to handle proto_id I need a way to distinguish individual metric items from each other so that I can ignore the ones that have been seen before. * Moved incrementer into dedicated file * Resolve incrementer test fail * Finalised the main loop functionality * Implemented delete loop framework * Updated adaptors file name * Added delete loop delay and quit, and tweak on RawMessage gen * Completed delete loop logic * Added DBLock to prevent deletion during mainLoop * Added postgres DB connection, integrated into anonmetrics.Server * Removed proto_id from SQL migration and model * Integrated postgres with Server and updated adaptors * Function name update * Added sample config files for client and server * Fixes and testing for low level e2e * make generate * Fix lint * Fix for receiving an anonMetricBatch not in server mode * Postgres test fixes * Tidy up, make vendor and make generate * delinting * Fixing database tests * Attempted fix of does: cannot open `does' (No such file or directory) not: cannot open `not' (No such file or directory) exist: cannot open `exist' (No such file or directory) error on sql resource loas * Moved all anon metric postgres migration logic and sources into a the protocol/anonmetrics package or sub packages. I don't know if this will fix the does: cannot open `does' (No such file or directory) not: cannot open `not' (No such file or directory) exist: cannot open `exist' (No such file or directory) error that happens in Jenkins but this could work * Lint for the lint god * Why doesn't the linter list all its problems at once? * test tweaks * Fix for wakuV2 change * DB reset change * Fix for postgres db migrations fails * More robust implementation of postgres test setup and teardown * Added block for anon metrics functionality * Version Bump to 0.84.0 * Added test to check anon metrics broadcast is deactivated * Protobufs and adapters * Added basic anon metric service and config init * Added new processed field to app metrics table * Added id column to app metrics table * Added migration clean up * Added appmetrics GetUnprocessed and SetToProcessedByIDs and tests There was a wierd bug where metrics in the db that did not explicitly insert a value would be NULL, so could not be found by . In addition I've added a new primary id field to the app_metrics table so that updates could be done against very specific metric rows. * Updated adaptors and db to handle proto_id I need a way to distinguish individual metric items from each other so that I can ignore the ones that have been seen before. * Added postgres DB connection, integrated into anonmetrics.Server * Removed proto_id from SQL migration and model * Integrated postgres with Server and updated adaptors * Added sample config files for client and server * Fix lint * Fix for receiving an anonMetricBatch not in server mode * Postgres test fixes * Tidy up, make vendor and make generate * Moved all anon metric postgres migration logic and sources into a the protocol/anonmetrics package or sub packages. I don't know if this will fix the does: cannot open `does' (No such file or directory) not: cannot open `not' (No such file or directory) exist: cannot open `exist' (No such file or directory) error that happens in Jenkins but this could work
2021-09-01 12:02:18 +00:00
// Code generated by protoc-gen-go. DO NOT EDIT.
// source: anon_metrics.proto
package protobuf
import (
fmt "fmt"
proto "github.com/golang/protobuf/proto"
timestamp "github.com/golang/protobuf/ptypes/timestamp"
math "math"
)
// Reference imports to suppress errors if they are not otherwise used.
var _ = proto.Marshal
var _ = fmt.Errorf
var _ = math.Inf
// This is a compile-time assertion to ensure that this generated file
// is compatible with the proto package it is being compiled against.
// A compilation error at this line likely means your copy of the
// proto package needs to be updated.
const _ = proto.ProtoPackageIsVersion3 // please upgrade the proto package
// AnonymousMetric represents a single metric data point
type AnonymousMetric struct {
// id is the unique id of the metric message
Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
// event is the app metric event type
Event string `protobuf:"bytes,2,opt,name=event,proto3" json:"event,omitempty"`
// value is a filtered and validated raw json payload attached to the event
Value []byte `protobuf:"bytes,3,opt,name=value,proto3" json:"value,omitempty"`
// app_version is the version of the `status-react` app that the metric came from
AppVersion string `protobuf:"bytes,4,opt,name=app_version,json=appVersion,proto3" json:"app_version,omitempty"`
// os is the operating system of the device the application is installed on
Os string `protobuf:"bytes,5,opt,name=os,proto3" json:"os,omitempty"`
// session_id is the id of the session the metric was recorded in
SessionId string `protobuf:"bytes,6,opt,name=session_id,json=sessionId,proto3" json:"session_id,omitempty"`
// created_at is the datetime at which the metric was stored in the local db
CreatedAt *timestamp.Timestamp `protobuf:"bytes,7,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *AnonymousMetric) Reset() { *m = AnonymousMetric{} }
func (m *AnonymousMetric) String() string { return proto.CompactTextString(m) }
func (*AnonymousMetric) ProtoMessage() {}
func (*AnonymousMetric) Descriptor() ([]byte, []int) {
return fileDescriptor_4be044a92fa0408c, []int{0}
}
func (m *AnonymousMetric) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_AnonymousMetric.Unmarshal(m, b)
}
func (m *AnonymousMetric) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_AnonymousMetric.Marshal(b, m, deterministic)
}
func (m *AnonymousMetric) XXX_Merge(src proto.Message) {
xxx_messageInfo_AnonymousMetric.Merge(m, src)
}
func (m *AnonymousMetric) XXX_Size() int {
return xxx_messageInfo_AnonymousMetric.Size(m)
}
func (m *AnonymousMetric) XXX_DiscardUnknown() {
xxx_messageInfo_AnonymousMetric.DiscardUnknown(m)
}
var xxx_messageInfo_AnonymousMetric proto.InternalMessageInfo
func (m *AnonymousMetric) GetId() string {
if m != nil {
return m.Id
}
return ""
}
func (m *AnonymousMetric) GetEvent() string {
if m != nil {
return m.Event
}
return ""
}
func (m *AnonymousMetric) GetValue() []byte {
if m != nil {
return m.Value
}
return nil
}
func (m *AnonymousMetric) GetAppVersion() string {
if m != nil {
return m.AppVersion
}
return ""
}
func (m *AnonymousMetric) GetOs() string {
if m != nil {
return m.Os
}
return ""
}
func (m *AnonymousMetric) GetSessionId() string {
if m != nil {
return m.SessionId
}
return ""
}
func (m *AnonymousMetric) GetCreatedAt() *timestamp.Timestamp {
if m != nil {
return m.CreatedAt
}
return nil
}
// AnonymousMetricBatch represents a batch of AnonymousMetrics allowing broadcast of AnonymousMetrics with fewer messages
type AnonymousMetricBatch struct {
// metrics is an array of AnonymousMetric metrics
Metrics []*AnonymousMetric `protobuf:"bytes,1,rep,name=metrics,proto3" json:"metrics,omitempty"`
XXX_NoUnkeyedLiteral struct{} `json:"-"`
XXX_unrecognized []byte `json:"-"`
XXX_sizecache int32 `json:"-"`
}
func (m *AnonymousMetricBatch) Reset() { *m = AnonymousMetricBatch{} }
func (m *AnonymousMetricBatch) String() string { return proto.CompactTextString(m) }
func (*AnonymousMetricBatch) ProtoMessage() {}
func (*AnonymousMetricBatch) Descriptor() ([]byte, []int) {
return fileDescriptor_4be044a92fa0408c, []int{1}
}
func (m *AnonymousMetricBatch) XXX_Unmarshal(b []byte) error {
return xxx_messageInfo_AnonymousMetricBatch.Unmarshal(m, b)
}
func (m *AnonymousMetricBatch) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
return xxx_messageInfo_AnonymousMetricBatch.Marshal(b, m, deterministic)
}
func (m *AnonymousMetricBatch) XXX_Merge(src proto.Message) {
xxx_messageInfo_AnonymousMetricBatch.Merge(m, src)
}
func (m *AnonymousMetricBatch) XXX_Size() int {
return xxx_messageInfo_AnonymousMetricBatch.Size(m)
}
func (m *AnonymousMetricBatch) XXX_DiscardUnknown() {
xxx_messageInfo_AnonymousMetricBatch.DiscardUnknown(m)
}
var xxx_messageInfo_AnonymousMetricBatch proto.InternalMessageInfo
func (m *AnonymousMetricBatch) GetMetrics() []*AnonymousMetric {
if m != nil {
return m.Metrics
}
return nil
}
func init() {
proto.RegisterType((*AnonymousMetric)(nil), "protobuf.AnonymousMetric")
proto.RegisterType((*AnonymousMetricBatch)(nil), "protobuf.AnonymousMetricBatch")
}
func init() {
proto.RegisterFile("anon_metrics.proto", fileDescriptor_4be044a92fa0408c)
}
var fileDescriptor_4be044a92fa0408c = []byte{
// 269 bytes of a gzipped FileDescriptorProto
0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x5c, 0x90, 0x3d, 0x6b, 0xc3, 0x30,
0x10, 0x86, 0x51, 0xd2, 0x24, 0xf5, 0xb9, 0x1f, 0x20, 0x32, 0xa8, 0x81, 0x12, 0x93, 0xc9, 0x93,
0x0d, 0xc9, 0x54, 0x3a, 0x25, 0x5b, 0x29, 0x5d, 0x4c, 0xe9, 0xd0, 0xc5, 0x28, 0xb6, 0x9a, 0x0a,
0x62, 0x9d, 0xb0, 0x64, 0x43, 0xff, 0x69, 0x7f, 0x4e, 0xb1, 0x64, 0x51, 0xc8, 0x24, 0xdd, 0xa3,
0xf7, 0x5e, 0x78, 0x04, 0x94, 0x2b, 0x54, 0x65, 0x23, 0x6c, 0x2b, 0x2b, 0x93, 0xe9, 0x16, 0x2d,
0xd2, 0x6b, 0x77, 0x1c, 0xbb, 0xaf, 0xd5, 0xfa, 0x84, 0x78, 0x3a, 0x8b, 0x3c, 0x80, 0xdc, 0xca,
0x46, 0x18, 0xcb, 0x1b, 0xed, 0xa3, 0x9b, 0x5f, 0x02, 0xf7, 0x7b, 0x85, 0xea, 0xa7, 0xc1, 0xce,
0xbc, 0xb9, 0x16, 0x7a, 0x07, 0x13, 0x59, 0x33, 0x92, 0x90, 0x34, 0x2a, 0x26, 0xb2, 0xa6, 0x4b,
0x98, 0x89, 0x5e, 0x28, 0xcb, 0x26, 0x0e, 0xf9, 0x61, 0xa0, 0x3d, 0x3f, 0x77, 0x82, 0x4d, 0x13,
0x92, 0xde, 0x14, 0x7e, 0xa0, 0x6b, 0x88, 0xb9, 0xd6, 0x65, 0x2f, 0x5a, 0x23, 0x51, 0xb1, 0x2b,
0xb7, 0x01, 0x5c, 0xeb, 0x0f, 0x4f, 0x86, 0x72, 0x34, 0x6c, 0xe6, 0xcb, 0xd1, 0xd0, 0x47, 0x00,
0x23, 0xcc, 0xf0, 0x54, 0xca, 0x9a, 0xcd, 0x1d, 0x8f, 0x46, 0xf2, 0x52, 0xd3, 0x27, 0x80, 0xaa,
0x15, 0xdc, 0x8a, 0xba, 0xe4, 0x96, 0x2d, 0x12, 0x92, 0xc6, 0xdb, 0x55, 0xe6, 0xad, 0xb2, 0x60,
0x95, 0xbd, 0x07, 0xab, 0x22, 0x1a, 0xd3, 0x7b, 0xbb, 0x79, 0x85, 0xe5, 0x85, 0xd9, 0x81, 0xdb,
0xea, 0x9b, 0xee, 0x60, 0x31, 0x7e, 0x17, 0x23, 0xc9, 0x34, 0x8d, 0xb7, 0x0f, 0xff, 0x45, 0x17,
0x0b, 0x45, 0x48, 0x1e, 0x6e, 0x3f, 0xe3, 0x2c, 0x7f, 0x0e, 0xb9, 0xe3, 0xdc, 0xdd, 0x76, 0x7f,
0x01, 0x00, 0x00, 0xff, 0xff, 0xc7, 0x86, 0xa1, 0x32, 0x7e, 0x01, 0x00, 0x00,
}