Last active
August 10, 2021 22:07
-
-
Save jszwedko/18f6752601790cdc05448aee07ea78a4 to your computer and use it in GitHub Desktop.
Dump Vector disk buffer data
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| syntax = "proto3"; | |
| package event; | |
| import "google/protobuf/timestamp.proto"; | |
| message EventWrapper { | |
| oneof event { | |
| Log log = 1; | |
| Metric metric = 2; | |
| } | |
| } | |
| message Log { | |
| map<string, Value> fields = 1; | |
| } | |
| message ValueMap { | |
| map<string, Value> fields = 1; | |
| } | |
| message ValueArray { | |
| repeated Value items = 1; | |
| } | |
| enum ValueNull { | |
| NULL_VALUE = 0; | |
| } | |
| message Value { | |
| reserved 3; | |
| oneof kind { | |
| bytes raw_bytes = 1; | |
| google.protobuf.Timestamp timestamp = 2; | |
| int64 integer = 4; | |
| double float = 5; | |
| bool boolean = 6; | |
| ValueMap map = 7; | |
| ValueArray array = 8; | |
| ValueNull null = 9; | |
| } | |
| } | |
| message Metric { | |
| string name = 1; | |
| google.protobuf.Timestamp timestamp = 2; | |
| map<string, string> tags = 3; | |
| enum Kind { | |
| Incremental = 0; | |
| Absolute = 1; | |
| } | |
| Kind kind = 4; | |
| oneof value { | |
| Counter counter = 5; | |
| Gauge gauge = 6; | |
| Set set = 7; | |
| Distribution1 distribution1 = 8; | |
| AggregatedHistogram1 aggregated_histogram1 = 9; | |
| AggregatedSummary1 aggregated_summary1 = 10; | |
| Distribution2 distribution2 = 12; | |
| AggregatedHistogram2 aggregated_histogram2 = 13; | |
| AggregatedSummary2 aggregated_summary2 = 14; | |
| } | |
| string namespace = 11; | |
| } | |
| message Counter { | |
| double value = 1; | |
| } | |
| message Gauge { | |
| double value = 1; | |
| } | |
| message Set { | |
| repeated string values = 1; | |
| } | |
| enum StatisticKind { | |
| Histogram = 0; | |
| Summary = 1; | |
| } | |
| message Distribution1 { | |
| repeated double values = 1; | |
| repeated uint32 sample_rates = 2; | |
| StatisticKind statistic = 3; | |
| } | |
| message Distribution2 { | |
| repeated DistributionSample samples = 1; | |
| StatisticKind statistic = 2; | |
| } | |
| message DistributionSample { | |
| double value = 1; | |
| uint32 rate = 2; | |
| } | |
| message AggregatedHistogram1 { | |
| repeated double buckets = 1; | |
| repeated uint32 counts = 2; | |
| uint32 count = 3; | |
| double sum = 4; | |
| } | |
| message AggregatedHistogram2 { | |
| repeated HistogramBucket buckets = 1; | |
| uint32 count = 2; | |
| double sum = 3; | |
| } | |
| message HistogramBucket { | |
| double upper_limit = 1; | |
| uint32 count = 2; | |
| } | |
| message AggregatedSummary1 { | |
| repeated double quantiles = 1; | |
| repeated double values = 2; | |
| uint32 count = 3; | |
| double sum = 4; | |
| } | |
| message AggregatedSummary2 { | |
| repeated SummaryQuantile quantiles = 1; | |
| uint32 count = 2; | |
| double sum = 3; | |
| } | |
| message SummaryQuantile { | |
| double upper_limit = 1; | |
| double value = 2; | |
| } |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| # -*- coding: utf-8 -*- | |
| # Generated by the protocol buffer compiler. DO NOT EDIT! | |
| # source: event.proto | |
| """Generated protocol buffer code.""" | |
| from google.protobuf.internal import enum_type_wrapper | |
| from google.protobuf import descriptor as _descriptor | |
| from google.protobuf import message as _message | |
| from google.protobuf import reflection as _reflection | |
| from google.protobuf import symbol_database as _symbol_database | |
| # @@protoc_insertion_point(imports) | |
| _sym_db = _symbol_database.Default() | |
| from google.protobuf import timestamp_pb2 as google_dot_protobuf_dot_timestamp__pb2 | |
| DESCRIPTOR = _descriptor.FileDescriptor( | |
| name='event.proto', | |
| package='event', | |
| syntax='proto3', | |
| serialized_options=None, | |
| create_key=_descriptor._internal_create_key, | |
| serialized_pb=b'\n\x0b\x65vent.proto\x12\x05\x65vent\x1a\x1fgoogle/protobuf/timestamp.proto\"S\n\x0c\x45ventWrapper\x12\x19\n\x03log\x18\x01 \x01(\x0b\x32\n.event.LogH\x00\x12\x1f\n\x06metric\x18\x02 \x01(\x0b\x32\r.event.MetricH\x00\x42\x07\n\x05\x65vent\"j\n\x03Log\x12&\n\x06\x66ields\x18\x01 \x03(\x0b\x32\x16.event.Log.FieldsEntry\x1a;\n\x0b\x46ieldsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\x1b\n\x05value\x18\x02 \x01(\x0b\x32\x0c.event.Value:\x02\x38\x01\"t\n\x08ValueMap\x12+\n\x06\x66ields\x18\x01 \x03(\x0b\x32\x1b.event.ValueMap.FieldsEntry\x1a;\n\x0b\x46ieldsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\x1b\n\x05value\x18\x02 \x01(\x0b\x32\x0c.event.Value:\x02\x38\x01\")\n\nValueArray\x12\x1b\n\x05items\x18\x01 \x03(\x0b\x32\x0c.event.Value\"\xf8\x01\n\x05Value\x12\x13\n\traw_bytes\x18\x01 \x01(\x0cH\x00\x12/\n\ttimestamp\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.TimestampH\x00\x12\x11\n\x07integer\x18\x04 \x01(\x03H\x00\x12\x0f\n\x05\x66loat\x18\x05 \x01(\x01H\x00\x12\x11\n\x07\x62oolean\x18\x06 \x01(\x08H\x00\x12\x1e\n\x03map\x18\x07 \x01(\x0b\x32\x0f.event.ValueMapH\x00\x12\"\n\x05\x61rray\x18\x08 \x01(\x0b\x32\x11.event.ValueArrayH\x00\x12 \n\x04null\x18\t \x01(\x0e\x32\x10.event.ValueNullH\x00\x42\x06\n\x04kindJ\x04\x08\x03\x10\x04\"\xa9\x05\n\x06Metric\x12\x0c\n\x04name\x18\x01 \x01(\t\x12-\n\ttimestamp\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12%\n\x04tags\x18\x03 \x03(\x0b\x32\x17.event.Metric.TagsEntry\x12 \n\x04kind\x18\x04 \x01(\x0e\x32\x12.event.Metric.Kind\x12!\n\x07\x63ounter\x18\x05 \x01(\x0b\x32\x0e.event.CounterH\x00\x12\x1d\n\x05gauge\x18\x06 \x01(\x0b\x32\x0c.event.GaugeH\x00\x12\x19\n\x03set\x18\x07 \x01(\x0b\x32\n.event.SetH\x00\x12-\n\rdistribution1\x18\x08 \x01(\x0b\x32\x14.event.Distribution1H\x00\x12<\n\x15\x61ggregated_histogram1\x18\t \x01(\x0b\x32\x1b.event.AggregatedHistogram1H\x00\x12\x38\n\x13\x61ggregated_summary1\x18\n \x01(\x0b\x32\x19.event.AggregatedSummary1H\x00\x12-\n\rdistribution2\x18\x0c \x01(\x0b\x32\x14.event.Distribution2H\x00\x12<\n\x15\x61ggregated_histogram2\x18\r \x01(\x0b\x32\x1b.event.AggregatedHistogram2H\x00\x12\x38\n\x13\x61ggregated_summary2\x18\x0e \x01(\x0b\x32\x19.event.AggregatedSummary2H\x00\x12\x11\n\tnamespace\x18\x0b \x01(\t\x1a+\n\tTagsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"%\n\x04Kind\x12\x0f\n\x0bIncremental\x10\x00\x12\x0c\n\x08\x41\x62solute\x10\x01\x42\x07\n\x05value\"\x18\n\x07\x43ounter\x12\r\n\x05value\x18\x01 \x01(\x01\"\x16\n\x05Gauge\x12\r\n\x05value\x18\x01 \x01(\x01\"\x15\n\x03Set\x12\x0e\n\x06values\x18\x01 \x03(\t\"^\n\rDistribution1\x12\x0e\n\x06values\x18\x01 \x03(\x01\x12\x14\n\x0csample_rates\x18\x02 \x03(\r\x12\'\n\tstatistic\x18\x03 \x01(\x0e\x32\x14.event.StatisticKind\"d\n\rDistribution2\x12*\n\x07samples\x18\x01 \x03(\x0b\x32\x19.event.DistributionSample\x12\'\n\tstatistic\x18\x02 \x01(\x0e\x32\x14.event.StatisticKind\"1\n\x12\x44istributionSample\x12\r\n\x05value\x18\x01 \x01(\x01\x12\x0c\n\x04rate\x18\x02 \x01(\r\"S\n\x14\x41ggregatedHistogram1\x12\x0f\n\x07\x62uckets\x18\x01 \x03(\x01\x12\x0e\n\x06\x63ounts\x18\x02 \x03(\r\x12\r\n\x05\x63ount\x18\x03 \x01(\r\x12\x0b\n\x03sum\x18\x04 \x01(\x01\"[\n\x14\x41ggregatedHistogram2\x12\'\n\x07\x62uckets\x18\x01 \x03(\x0b\x32\x16.event.HistogramBucket\x12\r\n\x05\x63ount\x18\x02 \x01(\r\x12\x0b\n\x03sum\x18\x03 \x01(\x01\"5\n\x0fHistogramBucket\x12\x13\n\x0bupper_limit\x18\x01 \x01(\x01\x12\r\n\x05\x63ount\x18\x02 \x01(\r\"S\n\x12\x41ggregatedSummary1\x12\x11\n\tquantiles\x18\x01 \x03(\x01\x12\x0e\n\x06values\x18\x02 \x03(\x01\x12\r\n\x05\x63ount\x18\x03 \x01(\r\x12\x0b\n\x03sum\x18\x04 \x01(\x01\"[\n\x12\x41ggregatedSummary2\x12)\n\tquantiles\x18\x01 \x03(\x0b\x32\x16.event.SummaryQuantile\x12\r\n\x05\x63ount\x18\x02 \x01(\r\x12\x0b\n\x03sum\x18\x03 \x01(\x01\"5\n\x0fSummaryQuantile\x12\x13\n\x0bupper_limit\x18\x01 \x01(\x01\x12\r\n\x05value\x18\x02 \x01(\x01*\x1b\n\tValueNull\x12\x0e\n\nNULL_VALUE\x10\x00*+\n\rStatisticKind\x12\r\n\tHistogram\x10\x00\x12\x0b\n\x07Summary\x10\x01\x62\x06proto3' | |
| , | |
| dependencies=[google_dot_protobuf_dot_timestamp__pb2.DESCRIPTOR,]) | |
| _VALUENULL = _descriptor.EnumDescriptor( | |
| name='ValueNull', | |
| full_name='event.ValueNull', | |
| filename=None, | |
| file=DESCRIPTOR, | |
| create_key=_descriptor._internal_create_key, | |
| values=[ | |
| _descriptor.EnumValueDescriptor( | |
| name='NULL_VALUE', index=0, number=0, | |
| serialized_options=None, | |
| type=None, | |
| create_key=_descriptor._internal_create_key), | |
| ], | |
| containing_type=None, | |
| serialized_options=None, | |
| serialized_start=2132, | |
| serialized_end=2159, | |
| ) | |
| _sym_db.RegisterEnumDescriptor(_VALUENULL) | |
| ValueNull = enum_type_wrapper.EnumTypeWrapper(_VALUENULL) | |
| _STATISTICKIND = _descriptor.EnumDescriptor( | |
| name='StatisticKind', | |
| full_name='event.StatisticKind', | |
| filename=None, | |
| file=DESCRIPTOR, | |
| create_key=_descriptor._internal_create_key, | |
| values=[ | |
| _descriptor.EnumValueDescriptor( | |
| name='Histogram', index=0, number=0, | |
| serialized_options=None, | |
| type=None, | |
| create_key=_descriptor._internal_create_key), | |
| _descriptor.EnumValueDescriptor( | |
| name='Summary', index=1, number=1, | |
| serialized_options=None, | |
| type=None, | |
| create_key=_descriptor._internal_create_key), | |
| ], | |
| containing_type=None, | |
| serialized_options=None, | |
| serialized_start=2161, | |
| serialized_end=2204, | |
| ) | |
| _sym_db.RegisterEnumDescriptor(_STATISTICKIND) | |
| StatisticKind = enum_type_wrapper.EnumTypeWrapper(_STATISTICKIND) | |
| NULL_VALUE = 0 | |
| Histogram = 0 | |
| Summary = 1 | |
| _METRIC_KIND = _descriptor.EnumDescriptor( | |
| name='Kind', | |
| full_name='event.Metric.Kind', | |
| filename=None, | |
| file=DESCRIPTOR, | |
| create_key=_descriptor._internal_create_key, | |
| values=[ | |
| _descriptor.EnumValueDescriptor( | |
| name='Incremental', index=0, number=0, | |
| serialized_options=None, | |
| type=None, | |
| create_key=_descriptor._internal_create_key), | |
| _descriptor.EnumValueDescriptor( | |
| name='Absolute', index=1, number=1, | |
| serialized_options=None, | |
| type=None, | |
| create_key=_descriptor._internal_create_key), | |
| ], | |
| containing_type=None, | |
| serialized_options=None, | |
| serialized_start=1296, | |
| serialized_end=1333, | |
| ) | |
| _sym_db.RegisterEnumDescriptor(_METRIC_KIND) | |
| _EVENTWRAPPER = _descriptor.Descriptor( | |
| name='EventWrapper', | |
| full_name='event.EventWrapper', | |
| filename=None, | |
| file=DESCRIPTOR, | |
| containing_type=None, | |
| create_key=_descriptor._internal_create_key, | |
| fields=[ | |
| _descriptor.FieldDescriptor( | |
| name='log', full_name='event.EventWrapper.log', index=0, | |
| number=1, type=11, cpp_type=10, label=1, | |
| has_default_value=False, default_value=None, | |
| message_type=None, enum_type=None, containing_type=None, | |
| is_extension=False, extension_scope=None, | |
| serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), | |
| _descriptor.FieldDescriptor( | |
| name='metric', full_name='event.EventWrapper.metric', index=1, | |
| number=2, type=11, cpp_type=10, label=1, | |
| has_default_value=False, default_value=None, | |
| message_type=None, enum_type=None, containing_type=None, | |
| is_extension=False, extension_scope=None, | |
| serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), | |
| ], | |
| extensions=[ | |
| ], | |
| nested_types=[], | |
| enum_types=[ | |
| ], | |
| serialized_options=None, | |
| is_extendable=False, | |
| syntax='proto3', | |
| extension_ranges=[], | |
| oneofs=[ | |
| _descriptor.OneofDescriptor( | |
| name='event', full_name='event.EventWrapper.event', | |
| index=0, containing_type=None, | |
| create_key=_descriptor._internal_create_key, | |
| fields=[]), | |
| ], | |
| serialized_start=55, | |
| serialized_end=138, | |
| ) | |
| _LOG_FIELDSENTRY = _descriptor.Descriptor( | |
| name='FieldsEntry', | |
| full_name='event.Log.FieldsEntry', | |
| filename=None, | |
| file=DESCRIPTOR, | |
| containing_type=None, | |
| create_key=_descriptor._internal_create_key, | |
| fields=[ | |
| _descriptor.FieldDescriptor( | |
| name='key', full_name='event.Log.FieldsEntry.key', index=0, | |
| number=1, type=9, cpp_type=9, label=1, | |
| has_default_value=False, default_value=b"".decode('utf-8'), | |
| message_type=None, enum_type=None, containing_type=None, | |
| is_extension=False, extension_scope=None, | |
| serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), | |
| _descriptor.FieldDescriptor( | |
| name='value', full_name='event.Log.FieldsEntry.value', index=1, | |
| number=2, type=11, cpp_type=10, label=1, | |
| has_default_value=False, default_value=None, | |
| message_type=None, enum_type=None, containing_type=None, | |
| is_extension=False, extension_scope=None, | |
| serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), | |
| ], | |
| extensions=[ | |
| ], | |
| nested_types=[], | |
| enum_types=[ | |
| ], | |
| serialized_options=b'8\001', | |
| is_extendable=False, | |
| syntax='proto3', | |
| extension_ranges=[], | |
| oneofs=[ | |
| ], | |
| serialized_start=187, | |
| serialized_end=246, | |
| ) | |
| _LOG = _descriptor.Descriptor( | |
| name='Log', | |
| full_name='event.Log', | |
| filename=None, | |
| file=DESCRIPTOR, | |
| containing_type=None, | |
| create_key=_descriptor._internal_create_key, | |
| fields=[ | |
| _descriptor.FieldDescriptor( | |
| name='fields', full_name='event.Log.fields', index=0, | |
| number=1, type=11, cpp_type=10, label=3, | |
| has_default_value=False, default_value=[], | |
| message_type=None, enum_type=None, containing_type=None, | |
| is_extension=False, extension_scope=None, | |
| serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), | |
| ], | |
| extensions=[ | |
| ], | |
| nested_types=[_LOG_FIELDSENTRY, ], | |
| enum_types=[ | |
| ], | |
| serialized_options=None, | |
| is_extendable=False, | |
| syntax='proto3', | |
| extension_ranges=[], | |
| oneofs=[ | |
| ], | |
| serialized_start=140, | |
| serialized_end=246, | |
| ) | |
| _VALUEMAP_FIELDSENTRY = _descriptor.Descriptor( | |
| name='FieldsEntry', | |
| full_name='event.ValueMap.FieldsEntry', | |
| filename=None, | |
| file=DESCRIPTOR, | |
| containing_type=None, | |
| create_key=_descriptor._internal_create_key, | |
| fields=[ | |
| _descriptor.FieldDescriptor( | |
| name='key', full_name='event.ValueMap.FieldsEntry.key', index=0, | |
| number=1, type=9, cpp_type=9, label=1, | |
| has_default_value=False, default_value=b"".decode('utf-8'), | |
| message_type=None, enum_type=None, containing_type=None, | |
| is_extension=False, extension_scope=None, | |
| serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), | |
| _descriptor.FieldDescriptor( | |
| name='value', full_name='event.ValueMap.FieldsEntry.value', index=1, | |
| number=2, type=11, cpp_type=10, label=1, | |
| has_default_value=False, default_value=None, | |
| message_type=None, enum_type=None, containing_type=None, | |
| is_extension=False, extension_scope=None, | |
| serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), | |
| ], | |
| extensions=[ | |
| ], | |
| nested_types=[], | |
| enum_types=[ | |
| ], | |
| serialized_options=b'8\001', | |
| is_extendable=False, | |
| syntax='proto3', | |
| extension_ranges=[], | |
| oneofs=[ | |
| ], | |
| serialized_start=187, | |
| serialized_end=246, | |
| ) | |
| _VALUEMAP = _descriptor.Descriptor( | |
| name='ValueMap', | |
| full_name='event.ValueMap', | |
| filename=None, | |
| file=DESCRIPTOR, | |
| containing_type=None, | |
| create_key=_descriptor._internal_create_key, | |
| fields=[ | |
| _descriptor.FieldDescriptor( | |
| name='fields', full_name='event.ValueMap.fields', index=0, | |
| number=1, type=11, cpp_type=10, label=3, | |
| has_default_value=False, default_value=[], | |
| message_type=None, enum_type=None, containing_type=None, | |
| is_extension=False, extension_scope=None, | |
| serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), | |
| ], | |
| extensions=[ | |
| ], | |
| nested_types=[_VALUEMAP_FIELDSENTRY, ], | |
| enum_types=[ | |
| ], | |
| serialized_options=None, | |
| is_extendable=False, | |
| syntax='proto3', | |
| extension_ranges=[], | |
| oneofs=[ | |
| ], | |
| serialized_start=248, | |
| serialized_end=364, | |
| ) | |
| _VALUEARRAY = _descriptor.Descriptor( | |
| name='ValueArray', | |
| full_name='event.ValueArray', | |
| filename=None, | |
| file=DESCRIPTOR, | |
| containing_type=None, | |
| create_key=_descriptor._internal_create_key, | |
| fields=[ | |
| _descriptor.FieldDescriptor( | |
| name='items', full_name='event.ValueArray.items', index=0, | |
| number=1, type=11, cpp_type=10, label=3, | |
| has_default_value=False, default_value=[], | |
| message_type=None, enum_type=None, containing_type=None, | |
| is_extension=False, extension_scope=None, | |
| serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), | |
| ], | |
| extensions=[ | |
| ], | |
| nested_types=[], | |
| enum_types=[ | |
| ], | |
| serialized_options=None, | |
| is_extendable=False, | |
| syntax='proto3', | |
| extension_ranges=[], | |
| oneofs=[ | |
| ], | |
| serialized_start=366, | |
| serialized_end=407, | |
| ) | |
| _VALUE = _descriptor.Descriptor( | |
| name='Value', | |
| full_name='event.Value', | |
| filename=None, | |
| file=DESCRIPTOR, | |
| containing_type=None, | |
| create_key=_descriptor._internal_create_key, | |
| fields=[ | |
| _descriptor.FieldDescriptor( | |
| name='raw_bytes', full_name='event.Value.raw_bytes', index=0, | |
| number=1, type=12, cpp_type=9, label=1, | |
| has_default_value=False, default_value=b"", | |
| message_type=None, enum_type=None, containing_type=None, | |
| is_extension=False, extension_scope=None, | |
| serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), | |
| _descriptor.FieldDescriptor( | |
| name='timestamp', full_name='event.Value.timestamp', index=1, | |
| number=2, type=11, cpp_type=10, label=1, | |
| has_default_value=False, default_value=None, | |
| message_type=None, enum_type=None, containing_type=None, | |
| is_extension=False, extension_scope=None, | |
| serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), | |
| _descriptor.FieldDescriptor( | |
| name='integer', full_name='event.Value.integer', index=2, | |
| number=4, type=3, cpp_type=2, label=1, | |
| has_default_value=False, default_value=0, | |
| message_type=None, enum_type=None, containing_type=None, | |
| is_extension=False, extension_scope=None, | |
| serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), | |
| _descriptor.FieldDescriptor( | |
| name='float', full_name='event.Value.float', index=3, | |
| number=5, type=1, cpp_type=5, label=1, | |
| has_default_value=False, default_value=float(0), | |
| message_type=None, enum_type=None, containing_type=None, | |
| is_extension=False, extension_scope=None, | |
| serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), | |
| _descriptor.FieldDescriptor( | |
| name='boolean', full_name='event.Value.boolean', index=4, | |
| number=6, type=8, cpp_type=7, label=1, | |
| has_default_value=False, default_value=False, | |
| message_type=None, enum_type=None, containing_type=None, | |
| is_extension=False, extension_scope=None, | |
| serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), | |
| _descriptor.FieldDescriptor( | |
| name='map', full_name='event.Value.map', index=5, | |
| number=7, type=11, cpp_type=10, label=1, | |
| has_default_value=False, default_value=None, | |
| message_type=None, enum_type=None, containing_type=None, | |
| is_extension=False, extension_scope=None, | |
| serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), | |
| _descriptor.FieldDescriptor( | |
| name='array', full_name='event.Value.array', index=6, | |
| number=8, type=11, cpp_type=10, label=1, | |
| has_default_value=False, default_value=None, | |
| message_type=None, enum_type=None, containing_type=None, | |
| is_extension=False, extension_scope=None, | |
| serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), | |
| _descriptor.FieldDescriptor( | |
| name='null', full_name='event.Value.null', index=7, | |
| number=9, type=14, cpp_type=8, label=1, | |
| has_default_value=False, default_value=0, | |
| message_type=None, enum_type=None, containing_type=None, | |
| is_extension=False, extension_scope=None, | |
| serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), | |
| ], | |
| extensions=[ | |
| ], | |
| nested_types=[], | |
| enum_types=[ | |
| ], | |
| serialized_options=None, | |
| is_extendable=False, | |
| syntax='proto3', | |
| extension_ranges=[], | |
| oneofs=[ | |
| _descriptor.OneofDescriptor( | |
| name='kind', full_name='event.Value.kind', | |
| index=0, containing_type=None, | |
| create_key=_descriptor._internal_create_key, | |
| fields=[]), | |
| ], | |
| serialized_start=410, | |
| serialized_end=658, | |
| ) | |
| _METRIC_TAGSENTRY = _descriptor.Descriptor( | |
| name='TagsEntry', | |
| full_name='event.Metric.TagsEntry', | |
| filename=None, | |
| file=DESCRIPTOR, | |
| containing_type=None, | |
| create_key=_descriptor._internal_create_key, | |
| fields=[ | |
| _descriptor.FieldDescriptor( | |
| name='key', full_name='event.Metric.TagsEntry.key', index=0, | |
| number=1, type=9, cpp_type=9, label=1, | |
| has_default_value=False, default_value=b"".decode('utf-8'), | |
| message_type=None, enum_type=None, containing_type=None, | |
| is_extension=False, extension_scope=None, | |
| serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), | |
| _descriptor.FieldDescriptor( | |
| name='value', full_name='event.Metric.TagsEntry.value', index=1, | |
| number=2, type=9, cpp_type=9, label=1, | |
| has_default_value=False, default_value=b"".decode('utf-8'), | |
| message_type=None, enum_type=None, containing_type=None, | |
| is_extension=False, extension_scope=None, | |
| serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), | |
| ], | |
| extensions=[ | |
| ], | |
| nested_types=[], | |
| enum_types=[ | |
| ], | |
| serialized_options=b'8\001', | |
| is_extendable=False, | |
| syntax='proto3', | |
| extension_ranges=[], | |
| oneofs=[ | |
| ], | |
| serialized_start=1251, | |
| serialized_end=1294, | |
| ) | |
| _METRIC = _descriptor.Descriptor( | |
| name='Metric', | |
| full_name='event.Metric', | |
| filename=None, | |
| file=DESCRIPTOR, | |
| containing_type=None, | |
| create_key=_descriptor._internal_create_key, | |
| fields=[ | |
| _descriptor.FieldDescriptor( | |
| name='name', full_name='event.Metric.name', index=0, | |
| number=1, type=9, cpp_type=9, label=1, | |
| has_default_value=False, default_value=b"".decode('utf-8'), | |
| message_type=None, enum_type=None, containing_type=None, | |
| is_extension=False, extension_scope=None, | |
| serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), | |
| _descriptor.FieldDescriptor( | |
| name='timestamp', full_name='event.Metric.timestamp', index=1, | |
| number=2, type=11, cpp_type=10, label=1, | |
| has_default_value=False, default_value=None, | |
| message_type=None, enum_type=None, containing_type=None, | |
| is_extension=False, extension_scope=None, | |
| serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), | |
| _descriptor.FieldDescriptor( | |
| name='tags', full_name='event.Metric.tags', index=2, | |
| number=3, type=11, cpp_type=10, label=3, | |
| has_default_value=False, default_value=[], | |
| message_type=None, enum_type=None, containing_type=None, | |
| is_extension=False, extension_scope=None, | |
| serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), | |
| _descriptor.FieldDescriptor( | |
| name='kind', full_name='event.Metric.kind', index=3, | |
| number=4, type=14, cpp_type=8, label=1, | |
| has_default_value=False, default_value=0, | |
| message_type=None, enum_type=None, containing_type=None, | |
| is_extension=False, extension_scope=None, | |
| serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), | |
| _descriptor.FieldDescriptor( | |
| name='counter', full_name='event.Metric.counter', index=4, | |
| number=5, type=11, cpp_type=10, label=1, | |
| has_default_value=False, default_value=None, | |
| message_type=None, enum_type=None, containing_type=None, | |
| is_extension=False, extension_scope=None, | |
| serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), | |
| _descriptor.FieldDescriptor( | |
| name='gauge', full_name='event.Metric.gauge', index=5, | |
| number=6, type=11, cpp_type=10, label=1, | |
| has_default_value=False, default_value=None, | |
| message_type=None, enum_type=None, containing_type=None, | |
| is_extension=False, extension_scope=None, | |
| serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), | |
| _descriptor.FieldDescriptor( | |
| name='set', full_name='event.Metric.set', index=6, | |
| number=7, type=11, cpp_type=10, label=1, | |
| has_default_value=False, default_value=None, | |
| message_type=None, enum_type=None, containing_type=None, | |
| is_extension=False, extension_scope=None, | |
| serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), | |
| _descriptor.FieldDescriptor( | |
| name='distribution1', full_name='event.Metric.distribution1', index=7, | |
| number=8, type=11, cpp_type=10, label=1, | |
| has_default_value=False, default_value=None, | |
| message_type=None, enum_type=None, containing_type=None, | |
| is_extension=False, extension_scope=None, | |
| serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), | |
| _descriptor.FieldDescriptor( | |
| name='aggregated_histogram1', full_name='event.Metric.aggregated_histogram1', index=8, | |
| number=9, type=11, cpp_type=10, label=1, | |
| has_default_value=False, default_value=None, | |
| message_type=None, enum_type=None, containing_type=None, | |
| is_extension=False, extension_scope=None, | |
| serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), | |
| _descriptor.FieldDescriptor( | |
| name='aggregated_summary1', full_name='event.Metric.aggregated_summary1', index=9, | |
| number=10, type=11, cpp_type=10, label=1, | |
| has_default_value=False, default_value=None, | |
| message_type=None, enum_type=None, containing_type=None, | |
| is_extension=False, extension_scope=None, | |
| serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), | |
| _descriptor.FieldDescriptor( | |
| name='distribution2', full_name='event.Metric.distribution2', index=10, | |
| number=12, type=11, cpp_type=10, label=1, | |
| has_default_value=False, default_value=None, | |
| message_type=None, enum_type=None, containing_type=None, | |
| is_extension=False, extension_scope=None, | |
| serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), | |
| _descriptor.FieldDescriptor( | |
| name='aggregated_histogram2', full_name='event.Metric.aggregated_histogram2', index=11, | |
| number=13, type=11, cpp_type=10, label=1, | |
| has_default_value=False, default_value=None, | |
| message_type=None, enum_type=None, containing_type=None, | |
| is_extension=False, extension_scope=None, | |
| serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), | |
| _descriptor.FieldDescriptor( | |
| name='aggregated_summary2', full_name='event.Metric.aggregated_summary2', index=12, | |
| number=14, type=11, cpp_type=10, label=1, | |
| has_default_value=False, default_value=None, | |
| message_type=None, enum_type=None, containing_type=None, | |
| is_extension=False, extension_scope=None, | |
| serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), | |
| _descriptor.FieldDescriptor( | |
| name='namespace', full_name='event.Metric.namespace', index=13, | |
| number=11, type=9, cpp_type=9, label=1, | |
| has_default_value=False, default_value=b"".decode('utf-8'), | |
| message_type=None, enum_type=None, containing_type=None, | |
| is_extension=False, extension_scope=None, | |
| serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), | |
| ], | |
| extensions=[ | |
| ], | |
| nested_types=[_METRIC_TAGSENTRY, ], | |
| enum_types=[ | |
| _METRIC_KIND, | |
| ], | |
| serialized_options=None, | |
| is_extendable=False, | |
| syntax='proto3', | |
| extension_ranges=[], | |
| oneofs=[ | |
| _descriptor.OneofDescriptor( | |
| name='value', full_name='event.Metric.value', | |
| index=0, containing_type=None, | |
| create_key=_descriptor._internal_create_key, | |
| fields=[]), | |
| ], | |
| serialized_start=661, | |
| serialized_end=1342, | |
| ) | |
| _COUNTER = _descriptor.Descriptor( | |
| name='Counter', | |
| full_name='event.Counter', | |
| filename=None, | |
| file=DESCRIPTOR, | |
| containing_type=None, | |
| create_key=_descriptor._internal_create_key, | |
| fields=[ | |
| _descriptor.FieldDescriptor( | |
| name='value', full_name='event.Counter.value', index=0, | |
| number=1, type=1, cpp_type=5, label=1, | |
| has_default_value=False, default_value=float(0), | |
| message_type=None, enum_type=None, containing_type=None, | |
| is_extension=False, extension_scope=None, | |
| serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), | |
| ], | |
| extensions=[ | |
| ], | |
| nested_types=[], | |
| enum_types=[ | |
| ], | |
| serialized_options=None, | |
| is_extendable=False, | |
| syntax='proto3', | |
| extension_ranges=[], | |
| oneofs=[ | |
| ], | |
| serialized_start=1344, | |
| serialized_end=1368, | |
| ) | |
| _GAUGE = _descriptor.Descriptor( | |
| name='Gauge', | |
| full_name='event.Gauge', | |
| filename=None, | |
| file=DESCRIPTOR, | |
| containing_type=None, | |
| create_key=_descriptor._internal_create_key, | |
| fields=[ | |
| _descriptor.FieldDescriptor( | |
| name='value', full_name='event.Gauge.value', index=0, | |
| number=1, type=1, cpp_type=5, label=1, | |
| has_default_value=False, default_value=float(0), | |
| message_type=None, enum_type=None, containing_type=None, | |
| is_extension=False, extension_scope=None, | |
| serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), | |
| ], | |
| extensions=[ | |
| ], | |
| nested_types=[], | |
| enum_types=[ | |
| ], | |
| serialized_options=None, | |
| is_extendable=False, | |
| syntax='proto3', | |
| extension_ranges=[], | |
| oneofs=[ | |
| ], | |
| serialized_start=1370, | |
| serialized_end=1392, | |
| ) | |
| _SET = _descriptor.Descriptor( | |
| name='Set', | |
| full_name='event.Set', | |
| filename=None, | |
| file=DESCRIPTOR, | |
| containing_type=None, | |
| create_key=_descriptor._internal_create_key, | |
| fields=[ | |
| _descriptor.FieldDescriptor( | |
| name='values', full_name='event.Set.values', index=0, | |
| number=1, type=9, cpp_type=9, label=3, | |
| has_default_value=False, default_value=[], | |
| message_type=None, enum_type=None, containing_type=None, | |
| is_extension=False, extension_scope=None, | |
| serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), | |
| ], | |
| extensions=[ | |
| ], | |
| nested_types=[], | |
| enum_types=[ | |
| ], | |
| serialized_options=None, | |
| is_extendable=False, | |
| syntax='proto3', | |
| extension_ranges=[], | |
| oneofs=[ | |
| ], | |
| serialized_start=1394, | |
| serialized_end=1415, | |
| ) | |
| _DISTRIBUTION1 = _descriptor.Descriptor( | |
| name='Distribution1', | |
| full_name='event.Distribution1', | |
| filename=None, | |
| file=DESCRIPTOR, | |
| containing_type=None, | |
| create_key=_descriptor._internal_create_key, | |
| fields=[ | |
| _descriptor.FieldDescriptor( | |
| name='values', full_name='event.Distribution1.values', index=0, | |
| number=1, type=1, cpp_type=5, label=3, | |
| has_default_value=False, default_value=[], | |
| message_type=None, enum_type=None, containing_type=None, | |
| is_extension=False, extension_scope=None, | |
| serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), | |
| _descriptor.FieldDescriptor( | |
| name='sample_rates', full_name='event.Distribution1.sample_rates', index=1, | |
| number=2, type=13, cpp_type=3, label=3, | |
| has_default_value=False, default_value=[], | |
| message_type=None, enum_type=None, containing_type=None, | |
| is_extension=False, extension_scope=None, | |
| serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), | |
| _descriptor.FieldDescriptor( | |
| name='statistic', full_name='event.Distribution1.statistic', index=2, | |
| number=3, type=14, cpp_type=8, label=1, | |
| has_default_value=False, default_value=0, | |
| message_type=None, enum_type=None, containing_type=None, | |
| is_extension=False, extension_scope=None, | |
| serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), | |
| ], | |
| extensions=[ | |
| ], | |
| nested_types=[], | |
| enum_types=[ | |
| ], | |
| serialized_options=None, | |
| is_extendable=False, | |
| syntax='proto3', | |
| extension_ranges=[], | |
| oneofs=[ | |
| ], | |
| serialized_start=1417, | |
| serialized_end=1511, | |
| ) | |
| _DISTRIBUTION2 = _descriptor.Descriptor( | |
| name='Distribution2', | |
| full_name='event.Distribution2', | |
| filename=None, | |
| file=DESCRIPTOR, | |
| containing_type=None, | |
| create_key=_descriptor._internal_create_key, | |
| fields=[ | |
| _descriptor.FieldDescriptor( | |
| name='samples', full_name='event.Distribution2.samples', index=0, | |
| number=1, type=11, cpp_type=10, label=3, | |
| has_default_value=False, default_value=[], | |
| message_type=None, enum_type=None, containing_type=None, | |
| is_extension=False, extension_scope=None, | |
| serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), | |
| _descriptor.FieldDescriptor( | |
| name='statistic', full_name='event.Distribution2.statistic', index=1, | |
| number=2, type=14, cpp_type=8, label=1, | |
| has_default_value=False, default_value=0, | |
| message_type=None, enum_type=None, containing_type=None, | |
| is_extension=False, extension_scope=None, | |
| serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), | |
| ], | |
| extensions=[ | |
| ], | |
| nested_types=[], | |
| enum_types=[ | |
| ], | |
| serialized_options=None, | |
| is_extendable=False, | |
| syntax='proto3', | |
| extension_ranges=[], | |
| oneofs=[ | |
| ], | |
| serialized_start=1513, | |
| serialized_end=1613, | |
| ) | |
| _DISTRIBUTIONSAMPLE = _descriptor.Descriptor( | |
| name='DistributionSample', | |
| full_name='event.DistributionSample', | |
| filename=None, | |
| file=DESCRIPTOR, | |
| containing_type=None, | |
| create_key=_descriptor._internal_create_key, | |
| fields=[ | |
| _descriptor.FieldDescriptor( | |
| name='value', full_name='event.DistributionSample.value', index=0, | |
| number=1, type=1, cpp_type=5, label=1, | |
| has_default_value=False, default_value=float(0), | |
| message_type=None, enum_type=None, containing_type=None, | |
| is_extension=False, extension_scope=None, | |
| serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), | |
| _descriptor.FieldDescriptor( | |
| name='rate', full_name='event.DistributionSample.rate', index=1, | |
| number=2, type=13, cpp_type=3, label=1, | |
| has_default_value=False, default_value=0, | |
| message_type=None, enum_type=None, containing_type=None, | |
| is_extension=False, extension_scope=None, | |
| serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), | |
| ], | |
| extensions=[ | |
| ], | |
| nested_types=[], | |
| enum_types=[ | |
| ], | |
| serialized_options=None, | |
| is_extendable=False, | |
| syntax='proto3', | |
| extension_ranges=[], | |
| oneofs=[ | |
| ], | |
| serialized_start=1615, | |
| serialized_end=1664, | |
| ) | |
| _AGGREGATEDHISTOGRAM1 = _descriptor.Descriptor( | |
| name='AggregatedHistogram1', | |
| full_name='event.AggregatedHistogram1', | |
| filename=None, | |
| file=DESCRIPTOR, | |
| containing_type=None, | |
| create_key=_descriptor._internal_create_key, | |
| fields=[ | |
| _descriptor.FieldDescriptor( | |
| name='buckets', full_name='event.AggregatedHistogram1.buckets', index=0, | |
| number=1, type=1, cpp_type=5, label=3, | |
| has_default_value=False, default_value=[], | |
| message_type=None, enum_type=None, containing_type=None, | |
| is_extension=False, extension_scope=None, | |
| serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), | |
| _descriptor.FieldDescriptor( | |
| name='counts', full_name='event.AggregatedHistogram1.counts', index=1, | |
| number=2, type=13, cpp_type=3, label=3, | |
| has_default_value=False, default_value=[], | |
| message_type=None, enum_type=None, containing_type=None, | |
| is_extension=False, extension_scope=None, | |
| serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), | |
| _descriptor.FieldDescriptor( | |
| name='count', full_name='event.AggregatedHistogram1.count', index=2, | |
| number=3, type=13, cpp_type=3, label=1, | |
| has_default_value=False, default_value=0, | |
| message_type=None, enum_type=None, containing_type=None, | |
| is_extension=False, extension_scope=None, | |
| serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), | |
| _descriptor.FieldDescriptor( | |
| name='sum', full_name='event.AggregatedHistogram1.sum', index=3, | |
| number=4, type=1, cpp_type=5, label=1, | |
| has_default_value=False, default_value=float(0), | |
| message_type=None, enum_type=None, containing_type=None, | |
| is_extension=False, extension_scope=None, | |
| serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), | |
| ], | |
| extensions=[ | |
| ], | |
| nested_types=[], | |
| enum_types=[ | |
| ], | |
| serialized_options=None, | |
| is_extendable=False, | |
| syntax='proto3', | |
| extension_ranges=[], | |
| oneofs=[ | |
| ], | |
| serialized_start=1666, | |
| serialized_end=1749, | |
| ) | |
| _AGGREGATEDHISTOGRAM2 = _descriptor.Descriptor( | |
| name='AggregatedHistogram2', | |
| full_name='event.AggregatedHistogram2', | |
| filename=None, | |
| file=DESCRIPTOR, | |
| containing_type=None, | |
| create_key=_descriptor._internal_create_key, | |
| fields=[ | |
| _descriptor.FieldDescriptor( | |
| name='buckets', full_name='event.AggregatedHistogram2.buckets', index=0, | |
| number=1, type=11, cpp_type=10, label=3, | |
| has_default_value=False, default_value=[], | |
| message_type=None, enum_type=None, containing_type=None, | |
| is_extension=False, extension_scope=None, | |
| serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), | |
| _descriptor.FieldDescriptor( | |
| name='count', full_name='event.AggregatedHistogram2.count', index=1, | |
| number=2, type=13, cpp_type=3, label=1, | |
| has_default_value=False, default_value=0, | |
| message_type=None, enum_type=None, containing_type=None, | |
| is_extension=False, extension_scope=None, | |
| serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), | |
| _descriptor.FieldDescriptor( | |
| name='sum', full_name='event.AggregatedHistogram2.sum', index=2, | |
| number=3, type=1, cpp_type=5, label=1, | |
| has_default_value=False, default_value=float(0), | |
| message_type=None, enum_type=None, containing_type=None, | |
| is_extension=False, extension_scope=None, | |
| serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), | |
| ], | |
| extensions=[ | |
| ], | |
| nested_types=[], | |
| enum_types=[ | |
| ], | |
| serialized_options=None, | |
| is_extendable=False, | |
| syntax='proto3', | |
| extension_ranges=[], | |
| oneofs=[ | |
| ], | |
| serialized_start=1751, | |
| serialized_end=1842, | |
| ) | |
| _HISTOGRAMBUCKET = _descriptor.Descriptor( | |
| name='HistogramBucket', | |
| full_name='event.HistogramBucket', | |
| filename=None, | |
| file=DESCRIPTOR, | |
| containing_type=None, | |
| create_key=_descriptor._internal_create_key, | |
| fields=[ | |
| _descriptor.FieldDescriptor( | |
| name='upper_limit', full_name='event.HistogramBucket.upper_limit', index=0, | |
| number=1, type=1, cpp_type=5, label=1, | |
| has_default_value=False, default_value=float(0), | |
| message_type=None, enum_type=None, containing_type=None, | |
| is_extension=False, extension_scope=None, | |
| serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), | |
| _descriptor.FieldDescriptor( | |
| name='count', full_name='event.HistogramBucket.count', index=1, | |
| number=2, type=13, cpp_type=3, label=1, | |
| has_default_value=False, default_value=0, | |
| message_type=None, enum_type=None, containing_type=None, | |
| is_extension=False, extension_scope=None, | |
| serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), | |
| ], | |
| extensions=[ | |
| ], | |
| nested_types=[], | |
| enum_types=[ | |
| ], | |
| serialized_options=None, | |
| is_extendable=False, | |
| syntax='proto3', | |
| extension_ranges=[], | |
| oneofs=[ | |
| ], | |
| serialized_start=1844, | |
| serialized_end=1897, | |
| ) | |
| _AGGREGATEDSUMMARY1 = _descriptor.Descriptor( | |
| name='AggregatedSummary1', | |
| full_name='event.AggregatedSummary1', | |
| filename=None, | |
| file=DESCRIPTOR, | |
| containing_type=None, | |
| create_key=_descriptor._internal_create_key, | |
| fields=[ | |
| _descriptor.FieldDescriptor( | |
| name='quantiles', full_name='event.AggregatedSummary1.quantiles', index=0, | |
| number=1, type=1, cpp_type=5, label=3, | |
| has_default_value=False, default_value=[], | |
| message_type=None, enum_type=None, containing_type=None, | |
| is_extension=False, extension_scope=None, | |
| serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), | |
| _descriptor.FieldDescriptor( | |
| name='values', full_name='event.AggregatedSummary1.values', index=1, | |
| number=2, type=1, cpp_type=5, label=3, | |
| has_default_value=False, default_value=[], | |
| message_type=None, enum_type=None, containing_type=None, | |
| is_extension=False, extension_scope=None, | |
| serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), | |
| _descriptor.FieldDescriptor( | |
| name='count', full_name='event.AggregatedSummary1.count', index=2, | |
| number=3, type=13, cpp_type=3, label=1, | |
| has_default_value=False, default_value=0, | |
| message_type=None, enum_type=None, containing_type=None, | |
| is_extension=False, extension_scope=None, | |
| serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), | |
| _descriptor.FieldDescriptor( | |
| name='sum', full_name='event.AggregatedSummary1.sum', index=3, | |
| number=4, type=1, cpp_type=5, label=1, | |
| has_default_value=False, default_value=float(0), | |
| message_type=None, enum_type=None, containing_type=None, | |
| is_extension=False, extension_scope=None, | |
| serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), | |
| ], | |
| extensions=[ | |
| ], | |
| nested_types=[], | |
| enum_types=[ | |
| ], | |
| serialized_options=None, | |
| is_extendable=False, | |
| syntax='proto3', | |
| extension_ranges=[], | |
| oneofs=[ | |
| ], | |
| serialized_start=1899, | |
| serialized_end=1982, | |
| ) | |
| _AGGREGATEDSUMMARY2 = _descriptor.Descriptor( | |
| name='AggregatedSummary2', | |
| full_name='event.AggregatedSummary2', | |
| filename=None, | |
| file=DESCRIPTOR, | |
| containing_type=None, | |
| create_key=_descriptor._internal_create_key, | |
| fields=[ | |
| _descriptor.FieldDescriptor( | |
| name='quantiles', full_name='event.AggregatedSummary2.quantiles', index=0, | |
| number=1, type=11, cpp_type=10, label=3, | |
| has_default_value=False, default_value=[], | |
| message_type=None, enum_type=None, containing_type=None, | |
| is_extension=False, extension_scope=None, | |
| serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), | |
| _descriptor.FieldDescriptor( | |
| name='count', full_name='event.AggregatedSummary2.count', index=1, | |
| number=2, type=13, cpp_type=3, label=1, | |
| has_default_value=False, default_value=0, | |
| message_type=None, enum_type=None, containing_type=None, | |
| is_extension=False, extension_scope=None, | |
| serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), | |
| _descriptor.FieldDescriptor( | |
| name='sum', full_name='event.AggregatedSummary2.sum', index=2, | |
| number=3, type=1, cpp_type=5, label=1, | |
| has_default_value=False, default_value=float(0), | |
| message_type=None, enum_type=None, containing_type=None, | |
| is_extension=False, extension_scope=None, | |
| serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), | |
| ], | |
| extensions=[ | |
| ], | |
| nested_types=[], | |
| enum_types=[ | |
| ], | |
| serialized_options=None, | |
| is_extendable=False, | |
| syntax='proto3', | |
| extension_ranges=[], | |
| oneofs=[ | |
| ], | |
| serialized_start=1984, | |
| serialized_end=2075, | |
| ) | |
| _SUMMARYQUANTILE = _descriptor.Descriptor( | |
| name='SummaryQuantile', | |
| full_name='event.SummaryQuantile', | |
| filename=None, | |
| file=DESCRIPTOR, | |
| containing_type=None, | |
| create_key=_descriptor._internal_create_key, | |
| fields=[ | |
| _descriptor.FieldDescriptor( | |
| name='upper_limit', full_name='event.SummaryQuantile.upper_limit', index=0, | |
| number=1, type=1, cpp_type=5, label=1, | |
| has_default_value=False, default_value=float(0), | |
| message_type=None, enum_type=None, containing_type=None, | |
| is_extension=False, extension_scope=None, | |
| serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), | |
| _descriptor.FieldDescriptor( | |
| name='value', full_name='event.SummaryQuantile.value', index=1, | |
| number=2, type=1, cpp_type=5, label=1, | |
| has_default_value=False, default_value=float(0), | |
| message_type=None, enum_type=None, containing_type=None, | |
| is_extension=False, extension_scope=None, | |
| serialized_options=None, file=DESCRIPTOR, create_key=_descriptor._internal_create_key), | |
| ], | |
| extensions=[ | |
| ], | |
| nested_types=[], | |
| enum_types=[ | |
| ], | |
| serialized_options=None, | |
| is_extendable=False, | |
| syntax='proto3', | |
| extension_ranges=[], | |
| oneofs=[ | |
| ], | |
| serialized_start=2077, | |
| serialized_end=2130, | |
| ) | |
| _EVENTWRAPPER.fields_by_name['log'].message_type = _LOG | |
| _EVENTWRAPPER.fields_by_name['metric'].message_type = _METRIC | |
| _EVENTWRAPPER.oneofs_by_name['event'].fields.append( | |
| _EVENTWRAPPER.fields_by_name['log']) | |
| _EVENTWRAPPER.fields_by_name['log'].containing_oneof = _EVENTWRAPPER.oneofs_by_name['event'] | |
| _EVENTWRAPPER.oneofs_by_name['event'].fields.append( | |
| _EVENTWRAPPER.fields_by_name['metric']) | |
| _EVENTWRAPPER.fields_by_name['metric'].containing_oneof = _EVENTWRAPPER.oneofs_by_name['event'] | |
| _LOG_FIELDSENTRY.fields_by_name['value'].message_type = _VALUE | |
| _LOG_FIELDSENTRY.containing_type = _LOG | |
| _LOG.fields_by_name['fields'].message_type = _LOG_FIELDSENTRY | |
| _VALUEMAP_FIELDSENTRY.fields_by_name['value'].message_type = _VALUE | |
| _VALUEMAP_FIELDSENTRY.containing_type = _VALUEMAP | |
| _VALUEMAP.fields_by_name['fields'].message_type = _VALUEMAP_FIELDSENTRY | |
| _VALUEARRAY.fields_by_name['items'].message_type = _VALUE | |
| _VALUE.fields_by_name['timestamp'].message_type = google_dot_protobuf_dot_timestamp__pb2._TIMESTAMP | |
| _VALUE.fields_by_name['map'].message_type = _VALUEMAP | |
| _VALUE.fields_by_name['array'].message_type = _VALUEARRAY | |
| _VALUE.fields_by_name['null'].enum_type = _VALUENULL | |
| _VALUE.oneofs_by_name['kind'].fields.append( | |
| _VALUE.fields_by_name['raw_bytes']) | |
| _VALUE.fields_by_name['raw_bytes'].containing_oneof = _VALUE.oneofs_by_name['kind'] | |
| _VALUE.oneofs_by_name['kind'].fields.append( | |
| _VALUE.fields_by_name['timestamp']) | |
| _VALUE.fields_by_name['timestamp'].containing_oneof = _VALUE.oneofs_by_name['kind'] | |
| _VALUE.oneofs_by_name['kind'].fields.append( | |
| _VALUE.fields_by_name['integer']) | |
| _VALUE.fields_by_name['integer'].containing_oneof = _VALUE.oneofs_by_name['kind'] | |
| _VALUE.oneofs_by_name['kind'].fields.append( | |
| _VALUE.fields_by_name['float']) | |
| _VALUE.fields_by_name['float'].containing_oneof = _VALUE.oneofs_by_name['kind'] | |
| _VALUE.oneofs_by_name['kind'].fields.append( | |
| _VALUE.fields_by_name['boolean']) | |
| _VALUE.fields_by_name['boolean'].containing_oneof = _VALUE.oneofs_by_name['kind'] | |
| _VALUE.oneofs_by_name['kind'].fields.append( | |
| _VALUE.fields_by_name['map']) | |
| _VALUE.fields_by_name['map'].containing_oneof = _VALUE.oneofs_by_name['kind'] | |
| _VALUE.oneofs_by_name['kind'].fields.append( | |
| _VALUE.fields_by_name['array']) | |
| _VALUE.fields_by_name['array'].containing_oneof = _VALUE.oneofs_by_name['kind'] | |
| _VALUE.oneofs_by_name['kind'].fields.append( | |
| _VALUE.fields_by_name['null']) | |
| _VALUE.fields_by_name['null'].containing_oneof = _VALUE.oneofs_by_name['kind'] | |
| _METRIC_TAGSENTRY.containing_type = _METRIC | |
| _METRIC.fields_by_name['timestamp'].message_type = google_dot_protobuf_dot_timestamp__pb2._TIMESTAMP | |
| _METRIC.fields_by_name['tags'].message_type = _METRIC_TAGSENTRY | |
| _METRIC.fields_by_name['kind'].enum_type = _METRIC_KIND | |
| _METRIC.fields_by_name['counter'].message_type = _COUNTER | |
| _METRIC.fields_by_name['gauge'].message_type = _GAUGE | |
| _METRIC.fields_by_name['set'].message_type = _SET | |
| _METRIC.fields_by_name['distribution1'].message_type = _DISTRIBUTION1 | |
| _METRIC.fields_by_name['aggregated_histogram1'].message_type = _AGGREGATEDHISTOGRAM1 | |
| _METRIC.fields_by_name['aggregated_summary1'].message_type = _AGGREGATEDSUMMARY1 | |
| _METRIC.fields_by_name['distribution2'].message_type = _DISTRIBUTION2 | |
| _METRIC.fields_by_name['aggregated_histogram2'].message_type = _AGGREGATEDHISTOGRAM2 | |
| _METRIC.fields_by_name['aggregated_summary2'].message_type = _AGGREGATEDSUMMARY2 | |
| _METRIC_KIND.containing_type = _METRIC | |
| _METRIC.oneofs_by_name['value'].fields.append( | |
| _METRIC.fields_by_name['counter']) | |
| _METRIC.fields_by_name['counter'].containing_oneof = _METRIC.oneofs_by_name['value'] | |
| _METRIC.oneofs_by_name['value'].fields.append( | |
| _METRIC.fields_by_name['gauge']) | |
| _METRIC.fields_by_name['gauge'].containing_oneof = _METRIC.oneofs_by_name['value'] | |
| _METRIC.oneofs_by_name['value'].fields.append( | |
| _METRIC.fields_by_name['set']) | |
| _METRIC.fields_by_name['set'].containing_oneof = _METRIC.oneofs_by_name['value'] | |
| _METRIC.oneofs_by_name['value'].fields.append( | |
| _METRIC.fields_by_name['distribution1']) | |
| _METRIC.fields_by_name['distribution1'].containing_oneof = _METRIC.oneofs_by_name['value'] | |
| _METRIC.oneofs_by_name['value'].fields.append( | |
| _METRIC.fields_by_name['aggregated_histogram1']) | |
| _METRIC.fields_by_name['aggregated_histogram1'].containing_oneof = _METRIC.oneofs_by_name['value'] | |
| _METRIC.oneofs_by_name['value'].fields.append( | |
| _METRIC.fields_by_name['aggregated_summary1']) | |
| _METRIC.fields_by_name['aggregated_summary1'].containing_oneof = _METRIC.oneofs_by_name['value'] | |
| _METRIC.oneofs_by_name['value'].fields.append( | |
| _METRIC.fields_by_name['distribution2']) | |
| _METRIC.fields_by_name['distribution2'].containing_oneof = _METRIC.oneofs_by_name['value'] | |
| _METRIC.oneofs_by_name['value'].fields.append( | |
| _METRIC.fields_by_name['aggregated_histogram2']) | |
| _METRIC.fields_by_name['aggregated_histogram2'].containing_oneof = _METRIC.oneofs_by_name['value'] | |
| _METRIC.oneofs_by_name['value'].fields.append( | |
| _METRIC.fields_by_name['aggregated_summary2']) | |
| _METRIC.fields_by_name['aggregated_summary2'].containing_oneof = _METRIC.oneofs_by_name['value'] | |
| _DISTRIBUTION1.fields_by_name['statistic'].enum_type = _STATISTICKIND | |
| _DISTRIBUTION2.fields_by_name['samples'].message_type = _DISTRIBUTIONSAMPLE | |
| _DISTRIBUTION2.fields_by_name['statistic'].enum_type = _STATISTICKIND | |
| _AGGREGATEDHISTOGRAM2.fields_by_name['buckets'].message_type = _HISTOGRAMBUCKET | |
| _AGGREGATEDSUMMARY2.fields_by_name['quantiles'].message_type = _SUMMARYQUANTILE | |
| DESCRIPTOR.message_types_by_name['EventWrapper'] = _EVENTWRAPPER | |
| DESCRIPTOR.message_types_by_name['Log'] = _LOG | |
| DESCRIPTOR.message_types_by_name['ValueMap'] = _VALUEMAP | |
| DESCRIPTOR.message_types_by_name['ValueArray'] = _VALUEARRAY | |
| DESCRIPTOR.message_types_by_name['Value'] = _VALUE | |
| DESCRIPTOR.message_types_by_name['Metric'] = _METRIC | |
| DESCRIPTOR.message_types_by_name['Counter'] = _COUNTER | |
| DESCRIPTOR.message_types_by_name['Gauge'] = _GAUGE | |
| DESCRIPTOR.message_types_by_name['Set'] = _SET | |
| DESCRIPTOR.message_types_by_name['Distribution1'] = _DISTRIBUTION1 | |
| DESCRIPTOR.message_types_by_name['Distribution2'] = _DISTRIBUTION2 | |
| DESCRIPTOR.message_types_by_name['DistributionSample'] = _DISTRIBUTIONSAMPLE | |
| DESCRIPTOR.message_types_by_name['AggregatedHistogram1'] = _AGGREGATEDHISTOGRAM1 | |
| DESCRIPTOR.message_types_by_name['AggregatedHistogram2'] = _AGGREGATEDHISTOGRAM2 | |
| DESCRIPTOR.message_types_by_name['HistogramBucket'] = _HISTOGRAMBUCKET | |
| DESCRIPTOR.message_types_by_name['AggregatedSummary1'] = _AGGREGATEDSUMMARY1 | |
| DESCRIPTOR.message_types_by_name['AggregatedSummary2'] = _AGGREGATEDSUMMARY2 | |
| DESCRIPTOR.message_types_by_name['SummaryQuantile'] = _SUMMARYQUANTILE | |
| DESCRIPTOR.enum_types_by_name['ValueNull'] = _VALUENULL | |
| DESCRIPTOR.enum_types_by_name['StatisticKind'] = _STATISTICKIND | |
| _sym_db.RegisterFileDescriptor(DESCRIPTOR) | |
| EventWrapper = _reflection.GeneratedProtocolMessageType('EventWrapper', (_message.Message,), { | |
| 'DESCRIPTOR' : _EVENTWRAPPER, | |
| '__module__' : 'event_pb2' | |
| # @@protoc_insertion_point(class_scope:event.EventWrapper) | |
| }) | |
| _sym_db.RegisterMessage(EventWrapper) | |
| Log = _reflection.GeneratedProtocolMessageType('Log', (_message.Message,), { | |
| 'FieldsEntry' : _reflection.GeneratedProtocolMessageType('FieldsEntry', (_message.Message,), { | |
| 'DESCRIPTOR' : _LOG_FIELDSENTRY, | |
| '__module__' : 'event_pb2' | |
| # @@protoc_insertion_point(class_scope:event.Log.FieldsEntry) | |
| }) | |
| , | |
| 'DESCRIPTOR' : _LOG, | |
| '__module__' : 'event_pb2' | |
| # @@protoc_insertion_point(class_scope:event.Log) | |
| }) | |
| _sym_db.RegisterMessage(Log) | |
| _sym_db.RegisterMessage(Log.FieldsEntry) | |
| ValueMap = _reflection.GeneratedProtocolMessageType('ValueMap', (_message.Message,), { | |
| 'FieldsEntry' : _reflection.GeneratedProtocolMessageType('FieldsEntry', (_message.Message,), { | |
| 'DESCRIPTOR' : _VALUEMAP_FIELDSENTRY, | |
| '__module__' : 'event_pb2' | |
| # @@protoc_insertion_point(class_scope:event.ValueMap.FieldsEntry) | |
| }) | |
| , | |
| 'DESCRIPTOR' : _VALUEMAP, | |
| '__module__' : 'event_pb2' | |
| # @@protoc_insertion_point(class_scope:event.ValueMap) | |
| }) | |
| _sym_db.RegisterMessage(ValueMap) | |
| _sym_db.RegisterMessage(ValueMap.FieldsEntry) | |
| ValueArray = _reflection.GeneratedProtocolMessageType('ValueArray', (_message.Message,), { | |
| 'DESCRIPTOR' : _VALUEARRAY, | |
| '__module__' : 'event_pb2' | |
| # @@protoc_insertion_point(class_scope:event.ValueArray) | |
| }) | |
| _sym_db.RegisterMessage(ValueArray) | |
| Value = _reflection.GeneratedProtocolMessageType('Value', (_message.Message,), { | |
| 'DESCRIPTOR' : _VALUE, | |
| '__module__' : 'event_pb2' | |
| # @@protoc_insertion_point(class_scope:event.Value) | |
| }) | |
| _sym_db.RegisterMessage(Value) | |
| Metric = _reflection.GeneratedProtocolMessageType('Metric', (_message.Message,), { | |
| 'TagsEntry' : _reflection.GeneratedProtocolMessageType('TagsEntry', (_message.Message,), { | |
| 'DESCRIPTOR' : _METRIC_TAGSENTRY, | |
| '__module__' : 'event_pb2' | |
| # @@protoc_insertion_point(class_scope:event.Metric.TagsEntry) | |
| }) | |
| , | |
| 'DESCRIPTOR' : _METRIC, | |
| '__module__' : 'event_pb2' | |
| # @@protoc_insertion_point(class_scope:event.Metric) | |
| }) | |
| _sym_db.RegisterMessage(Metric) | |
| _sym_db.RegisterMessage(Metric.TagsEntry) | |
| Counter = _reflection.GeneratedProtocolMessageType('Counter', (_message.Message,), { | |
| 'DESCRIPTOR' : _COUNTER, | |
| '__module__' : 'event_pb2' | |
| # @@protoc_insertion_point(class_scope:event.Counter) | |
| }) | |
| _sym_db.RegisterMessage(Counter) | |
| Gauge = _reflection.GeneratedProtocolMessageType('Gauge', (_message.Message,), { | |
| 'DESCRIPTOR' : _GAUGE, | |
| '__module__' : 'event_pb2' | |
| # @@protoc_insertion_point(class_scope:event.Gauge) | |
| }) | |
| _sym_db.RegisterMessage(Gauge) | |
| Set = _reflection.GeneratedProtocolMessageType('Set', (_message.Message,), { | |
| 'DESCRIPTOR' : _SET, | |
| '__module__' : 'event_pb2' | |
| # @@protoc_insertion_point(class_scope:event.Set) | |
| }) | |
| _sym_db.RegisterMessage(Set) | |
| Distribution1 = _reflection.GeneratedProtocolMessageType('Distribution1', (_message.Message,), { | |
| 'DESCRIPTOR' : _DISTRIBUTION1, | |
| '__module__' : 'event_pb2' | |
| # @@protoc_insertion_point(class_scope:event.Distribution1) | |
| }) | |
| _sym_db.RegisterMessage(Distribution1) | |
| Distribution2 = _reflection.GeneratedProtocolMessageType('Distribution2', (_message.Message,), { | |
| 'DESCRIPTOR' : _DISTRIBUTION2, | |
| '__module__' : 'event_pb2' | |
| # @@protoc_insertion_point(class_scope:event.Distribution2) | |
| }) | |
| _sym_db.RegisterMessage(Distribution2) | |
| DistributionSample = _reflection.GeneratedProtocolMessageType('DistributionSample', (_message.Message,), { | |
| 'DESCRIPTOR' : _DISTRIBUTIONSAMPLE, | |
| '__module__' : 'event_pb2' | |
| # @@protoc_insertion_point(class_scope:event.DistributionSample) | |
| }) | |
| _sym_db.RegisterMessage(DistributionSample) | |
| AggregatedHistogram1 = _reflection.GeneratedProtocolMessageType('AggregatedHistogram1', (_message.Message,), { | |
| 'DESCRIPTOR' : _AGGREGATEDHISTOGRAM1, | |
| '__module__' : 'event_pb2' | |
| # @@protoc_insertion_point(class_scope:event.AggregatedHistogram1) | |
| }) | |
| _sym_db.RegisterMessage(AggregatedHistogram1) | |
| AggregatedHistogram2 = _reflection.GeneratedProtocolMessageType('AggregatedHistogram2', (_message.Message,), { | |
| 'DESCRIPTOR' : _AGGREGATEDHISTOGRAM2, | |
| '__module__' : 'event_pb2' | |
| # @@protoc_insertion_point(class_scope:event.AggregatedHistogram2) | |
| }) | |
| _sym_db.RegisterMessage(AggregatedHistogram2) | |
| HistogramBucket = _reflection.GeneratedProtocolMessageType('HistogramBucket', (_message.Message,), { | |
| 'DESCRIPTOR' : _HISTOGRAMBUCKET, | |
| '__module__' : 'event_pb2' | |
| # @@protoc_insertion_point(class_scope:event.HistogramBucket) | |
| }) | |
| _sym_db.RegisterMessage(HistogramBucket) | |
| AggregatedSummary1 = _reflection.GeneratedProtocolMessageType('AggregatedSummary1', (_message.Message,), { | |
| 'DESCRIPTOR' : _AGGREGATEDSUMMARY1, | |
| '__module__' : 'event_pb2' | |
| # @@protoc_insertion_point(class_scope:event.AggregatedSummary1) | |
| }) | |
| _sym_db.RegisterMessage(AggregatedSummary1) | |
| AggregatedSummary2 = _reflection.GeneratedProtocolMessageType('AggregatedSummary2', (_message.Message,), { | |
| 'DESCRIPTOR' : _AGGREGATEDSUMMARY2, | |
| '__module__' : 'event_pb2' | |
| # @@protoc_insertion_point(class_scope:event.AggregatedSummary2) | |
| }) | |
| _sym_db.RegisterMessage(AggregatedSummary2) | |
| SummaryQuantile = _reflection.GeneratedProtocolMessageType('SummaryQuantile', (_message.Message,), { | |
| 'DESCRIPTOR' : _SUMMARYQUANTILE, | |
| '__module__' : 'event_pb2' | |
| # @@protoc_insertion_point(class_scope:event.SummaryQuantile) | |
| }) | |
| _sym_db.RegisterMessage(SummaryQuantile) | |
| _LOG_FIELDSENTRY._options = None | |
| _VALUEMAP_FIELDSENTRY._options = None | |
| _METRIC_TAGSENTRY._options = None | |
| # @@protoc_insertion_point(module_scope) |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| import base64 | |
| import event_pb2 | |
| from google.protobuf.json_format import MessageToDict | |
| import leveldb | |
| import json | |
| import struct | |
| import sys | |
| def main(): | |
| db = leveldb.LevelDB(sys.argv[-1]) | |
| event = event_pb2.EventWrapper() | |
| for key, buf in db.RangeIter(): | |
| key = struct.unpack("<Q", key) | |
| event.ParseFromString(buf) | |
| parsed = MessageToDict(event) | |
| for field in parsed["log"]["fields"]: | |
| if "rawBytes" in parsed["log"]["fields"][field]: | |
| parsed["log"]["fields"][field]["rawBytes"] = base64.b64decode(parsed["log"]["fields"][field]["rawBytes"]).decode("utf-8") | |
| print(json.dumps({"key": key, "event": parsed})) | |
| if __name__ == "__main__": | |
| main() |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment