1 // Code generated by protoc-gen-go. DO NOT EDIT.
2 // source: opencensus/proto/metrics/v1/metrics.proto
8 v1 "github.com/census-instrumentation/opencensus-proto/gen-go/resource/v1"
9 proto "github.com/golang/protobuf/proto"
10 timestamp "github.com/golang/protobuf/ptypes/timestamp"
11 wrappers "github.com/golang/protobuf/ptypes/wrappers"
15 // Reference imports to suppress errors if they are not otherwise used.
20 // This is a compile-time assertion to ensure that this generated file
21 // is compatible with the proto package it is being compiled against.
22 // A compilation error at this line likely means your copy of the
23 // proto package needs to be updated.
24 const _ = proto.ProtoPackageIsVersion3 // please upgrade the proto package
26 // The kind of metric. It describes how the data is reported.
28 // A gauge is an instantaneous measurement of a value.
30 // A cumulative measurement is a value accumulated over a time interval. In
31 // a time series, cumulative measurements should have the same start time,
32 // increasing values and increasing end times, until an event resets the
33 // cumulative value to zero and sets a new start time for the following
35 type MetricDescriptor_Type int32
38 // Do not use this default value.
39 MetricDescriptor_UNSPECIFIED MetricDescriptor_Type = 0
40 // Integer gauge. The value can go both up and down.
41 MetricDescriptor_GAUGE_INT64 MetricDescriptor_Type = 1
42 // Floating point gauge. The value can go both up and down.
43 MetricDescriptor_GAUGE_DOUBLE MetricDescriptor_Type = 2
44 // Distribution gauge measurement. The count and sum can go both up and
45 // down. Recorded values are always >= 0.
46 // Used in scenarios like a snapshot of time the current items in a queue
48 MetricDescriptor_GAUGE_DISTRIBUTION MetricDescriptor_Type = 3
49 // Integer cumulative measurement. The value cannot decrease, if resets
50 // then the start_time should also be reset.
51 MetricDescriptor_CUMULATIVE_INT64 MetricDescriptor_Type = 4
52 // Floating point cumulative measurement. The value cannot decrease, if
53 // resets then the start_time should also be reset. Recorded values are
55 MetricDescriptor_CUMULATIVE_DOUBLE MetricDescriptor_Type = 5
56 // Distribution cumulative measurement. The count and sum cannot decrease,
57 // if resets then the start_time should also be reset.
58 MetricDescriptor_CUMULATIVE_DISTRIBUTION MetricDescriptor_Type = 6
59 // Some frameworks implemented Histograms as a summary of observations
60 // (usually things like request durations and response sizes). While it
61 // also provides a total count of observations and a sum of all observed
62 // values, it calculates configurable percentiles over a sliding time
63 // window. This is not recommended, since it cannot be aggregated.
64 MetricDescriptor_SUMMARY MetricDescriptor_Type = 7
67 var MetricDescriptor_Type_name = map[int32]string{
71 3: "GAUGE_DISTRIBUTION",
72 4: "CUMULATIVE_INT64",
73 5: "CUMULATIVE_DOUBLE",
74 6: "CUMULATIVE_DISTRIBUTION",
78 var MetricDescriptor_Type_value = map[string]int32{
82 "GAUGE_DISTRIBUTION": 3,
83 "CUMULATIVE_INT64": 4,
84 "CUMULATIVE_DOUBLE": 5,
85 "CUMULATIVE_DISTRIBUTION": 6,
89 func (x MetricDescriptor_Type) String() string {
90 return proto.EnumName(MetricDescriptor_Type_name, int32(x))
93 func (MetricDescriptor_Type) EnumDescriptor() ([]byte, []int) {
94 return fileDescriptor_0ee3deb72053811a, []int{1, 0}
97 // Defines a Metric which has one or more timeseries.
99 // The descriptor of the Metric.
100 // TODO(issue #152): consider only sending the name of descriptor for
102 MetricDescriptor *MetricDescriptor `protobuf:"bytes,1,opt,name=metric_descriptor,json=metricDescriptor,proto3" json:"metric_descriptor,omitempty"`
103 // One or more timeseries for a single metric, where each timeseries has
104 // one or more points.
105 Timeseries []*TimeSeries `protobuf:"bytes,2,rep,name=timeseries,proto3" json:"timeseries,omitempty"`
106 // The resource for the metric. If unset, it may be set to a default value
107 // provided for a sequence of messages in an RPC stream.
108 Resource *v1.Resource `protobuf:"bytes,3,opt,name=resource,proto3" json:"resource,omitempty"`
109 XXX_NoUnkeyedLiteral struct{} `json:"-"`
110 XXX_unrecognized []byte `json:"-"`
111 XXX_sizecache int32 `json:"-"`
114 func (m *Metric) Reset() { *m = Metric{} }
115 func (m *Metric) String() string { return proto.CompactTextString(m) }
116 func (*Metric) ProtoMessage() {}
117 func (*Metric) Descriptor() ([]byte, []int) {
118 return fileDescriptor_0ee3deb72053811a, []int{0}
121 func (m *Metric) XXX_Unmarshal(b []byte) error {
122 return xxx_messageInfo_Metric.Unmarshal(m, b)
124 func (m *Metric) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
125 return xxx_messageInfo_Metric.Marshal(b, m, deterministic)
127 func (m *Metric) XXX_Merge(src proto.Message) {
128 xxx_messageInfo_Metric.Merge(m, src)
130 func (m *Metric) XXX_Size() int {
131 return xxx_messageInfo_Metric.Size(m)
133 func (m *Metric) XXX_DiscardUnknown() {
134 xxx_messageInfo_Metric.DiscardUnknown(m)
137 var xxx_messageInfo_Metric proto.InternalMessageInfo
139 func (m *Metric) GetMetricDescriptor() *MetricDescriptor {
141 return m.MetricDescriptor
146 func (m *Metric) GetTimeseries() []*TimeSeries {
153 func (m *Metric) GetResource() *v1.Resource {
160 // Defines a metric type and its schema.
161 type MetricDescriptor struct {
162 // The metric type, including its DNS name prefix. It must be unique.
163 Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
164 // A detailed description of the metric, which can be used in documentation.
165 Description string `protobuf:"bytes,2,opt,name=description,proto3" json:"description,omitempty"`
166 // The unit in which the metric value is reported. Follows the format
167 // described by http://unitsofmeasure.org/ucum.html.
168 Unit string `protobuf:"bytes,3,opt,name=unit,proto3" json:"unit,omitempty"`
169 Type MetricDescriptor_Type `protobuf:"varint,4,opt,name=type,proto3,enum=opencensus.proto.metrics.v1.MetricDescriptor_Type" json:"type,omitempty"`
170 // The label keys associated with the metric descriptor.
171 LabelKeys []*LabelKey `protobuf:"bytes,5,rep,name=label_keys,json=labelKeys,proto3" json:"label_keys,omitempty"`
172 XXX_NoUnkeyedLiteral struct{} `json:"-"`
173 XXX_unrecognized []byte `json:"-"`
174 XXX_sizecache int32 `json:"-"`
177 func (m *MetricDescriptor) Reset() { *m = MetricDescriptor{} }
178 func (m *MetricDescriptor) String() string { return proto.CompactTextString(m) }
179 func (*MetricDescriptor) ProtoMessage() {}
180 func (*MetricDescriptor) Descriptor() ([]byte, []int) {
181 return fileDescriptor_0ee3deb72053811a, []int{1}
184 func (m *MetricDescriptor) XXX_Unmarshal(b []byte) error {
185 return xxx_messageInfo_MetricDescriptor.Unmarshal(m, b)
187 func (m *MetricDescriptor) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
188 return xxx_messageInfo_MetricDescriptor.Marshal(b, m, deterministic)
190 func (m *MetricDescriptor) XXX_Merge(src proto.Message) {
191 xxx_messageInfo_MetricDescriptor.Merge(m, src)
193 func (m *MetricDescriptor) XXX_Size() int {
194 return xxx_messageInfo_MetricDescriptor.Size(m)
196 func (m *MetricDescriptor) XXX_DiscardUnknown() {
197 xxx_messageInfo_MetricDescriptor.DiscardUnknown(m)
200 var xxx_messageInfo_MetricDescriptor proto.InternalMessageInfo
202 func (m *MetricDescriptor) GetName() string {
209 func (m *MetricDescriptor) GetDescription() string {
216 func (m *MetricDescriptor) GetUnit() string {
223 func (m *MetricDescriptor) GetType() MetricDescriptor_Type {
227 return MetricDescriptor_UNSPECIFIED
230 func (m *MetricDescriptor) GetLabelKeys() []*LabelKey {
237 // Defines a label key associated with a metric descriptor.
238 type LabelKey struct {
239 // The key for the label.
240 Key string `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"`
241 // A human-readable description of what this label key represents.
242 Description string `protobuf:"bytes,2,opt,name=description,proto3" json:"description,omitempty"`
243 XXX_NoUnkeyedLiteral struct{} `json:"-"`
244 XXX_unrecognized []byte `json:"-"`
245 XXX_sizecache int32 `json:"-"`
248 func (m *LabelKey) Reset() { *m = LabelKey{} }
249 func (m *LabelKey) String() string { return proto.CompactTextString(m) }
250 func (*LabelKey) ProtoMessage() {}
251 func (*LabelKey) Descriptor() ([]byte, []int) {
252 return fileDescriptor_0ee3deb72053811a, []int{2}
255 func (m *LabelKey) XXX_Unmarshal(b []byte) error {
256 return xxx_messageInfo_LabelKey.Unmarshal(m, b)
258 func (m *LabelKey) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
259 return xxx_messageInfo_LabelKey.Marshal(b, m, deterministic)
261 func (m *LabelKey) XXX_Merge(src proto.Message) {
262 xxx_messageInfo_LabelKey.Merge(m, src)
264 func (m *LabelKey) XXX_Size() int {
265 return xxx_messageInfo_LabelKey.Size(m)
267 func (m *LabelKey) XXX_DiscardUnknown() {
268 xxx_messageInfo_LabelKey.DiscardUnknown(m)
271 var xxx_messageInfo_LabelKey proto.InternalMessageInfo
273 func (m *LabelKey) GetKey() string {
280 func (m *LabelKey) GetDescription() string {
287 // A collection of data points that describes the time-varying values
289 type TimeSeries struct {
290 // Must be present for cumulative metrics. The time when the cumulative value
291 // was reset to zero. Exclusive. The cumulative value is over the time interval
292 // (start_timestamp, timestamp]. If not specified, the backend can use the
293 // previous recorded value.
294 StartTimestamp *timestamp.Timestamp `protobuf:"bytes,1,opt,name=start_timestamp,json=startTimestamp,proto3" json:"start_timestamp,omitempty"`
295 // The set of label values that uniquely identify this timeseries. Applies to
296 // all points. The order of label values must match that of label keys in the
297 // metric descriptor.
298 LabelValues []*LabelValue `protobuf:"bytes,2,rep,name=label_values,json=labelValues,proto3" json:"label_values,omitempty"`
299 // The data points of this timeseries. Point.value type MUST match the
300 // MetricDescriptor.type.
301 Points []*Point `protobuf:"bytes,3,rep,name=points,proto3" json:"points,omitempty"`
302 XXX_NoUnkeyedLiteral struct{} `json:"-"`
303 XXX_unrecognized []byte `json:"-"`
304 XXX_sizecache int32 `json:"-"`
307 func (m *TimeSeries) Reset() { *m = TimeSeries{} }
308 func (m *TimeSeries) String() string { return proto.CompactTextString(m) }
309 func (*TimeSeries) ProtoMessage() {}
310 func (*TimeSeries) Descriptor() ([]byte, []int) {
311 return fileDescriptor_0ee3deb72053811a, []int{3}
314 func (m *TimeSeries) XXX_Unmarshal(b []byte) error {
315 return xxx_messageInfo_TimeSeries.Unmarshal(m, b)
317 func (m *TimeSeries) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
318 return xxx_messageInfo_TimeSeries.Marshal(b, m, deterministic)
320 func (m *TimeSeries) XXX_Merge(src proto.Message) {
321 xxx_messageInfo_TimeSeries.Merge(m, src)
323 func (m *TimeSeries) XXX_Size() int {
324 return xxx_messageInfo_TimeSeries.Size(m)
326 func (m *TimeSeries) XXX_DiscardUnknown() {
327 xxx_messageInfo_TimeSeries.DiscardUnknown(m)
330 var xxx_messageInfo_TimeSeries proto.InternalMessageInfo
332 func (m *TimeSeries) GetStartTimestamp() *timestamp.Timestamp {
334 return m.StartTimestamp
339 func (m *TimeSeries) GetLabelValues() []*LabelValue {
346 func (m *TimeSeries) GetPoints() []*Point {
353 type LabelValue struct {
354 // The value for the label.
355 Value string `protobuf:"bytes,1,opt,name=value,proto3" json:"value,omitempty"`
356 // If false the value field is ignored and considered not set.
357 // This is used to differentiate a missing label from an empty string.
358 HasValue bool `protobuf:"varint,2,opt,name=has_value,json=hasValue,proto3" json:"has_value,omitempty"`
359 XXX_NoUnkeyedLiteral struct{} `json:"-"`
360 XXX_unrecognized []byte `json:"-"`
361 XXX_sizecache int32 `json:"-"`
364 func (m *LabelValue) Reset() { *m = LabelValue{} }
365 func (m *LabelValue) String() string { return proto.CompactTextString(m) }
366 func (*LabelValue) ProtoMessage() {}
367 func (*LabelValue) Descriptor() ([]byte, []int) {
368 return fileDescriptor_0ee3deb72053811a, []int{4}
371 func (m *LabelValue) XXX_Unmarshal(b []byte) error {
372 return xxx_messageInfo_LabelValue.Unmarshal(m, b)
374 func (m *LabelValue) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
375 return xxx_messageInfo_LabelValue.Marshal(b, m, deterministic)
377 func (m *LabelValue) XXX_Merge(src proto.Message) {
378 xxx_messageInfo_LabelValue.Merge(m, src)
380 func (m *LabelValue) XXX_Size() int {
381 return xxx_messageInfo_LabelValue.Size(m)
383 func (m *LabelValue) XXX_DiscardUnknown() {
384 xxx_messageInfo_LabelValue.DiscardUnknown(m)
387 var xxx_messageInfo_LabelValue proto.InternalMessageInfo
389 func (m *LabelValue) GetValue() string {
396 func (m *LabelValue) GetHasValue() bool {
403 // A timestamped measurement.
405 // The moment when this point was recorded. Inclusive.
406 // If not specified, the timestamp will be decided by the backend.
407 Timestamp *timestamp.Timestamp `protobuf:"bytes,1,opt,name=timestamp,proto3" json:"timestamp,omitempty"`
408 // The actual point value.
410 // Types that are valid to be assigned to Value:
412 // *Point_DoubleValue
413 // *Point_DistributionValue
414 // *Point_SummaryValue
415 Value isPoint_Value `protobuf_oneof:"value"`
416 XXX_NoUnkeyedLiteral struct{} `json:"-"`
417 XXX_unrecognized []byte `json:"-"`
418 XXX_sizecache int32 `json:"-"`
421 func (m *Point) Reset() { *m = Point{} }
422 func (m *Point) String() string { return proto.CompactTextString(m) }
423 func (*Point) ProtoMessage() {}
424 func (*Point) Descriptor() ([]byte, []int) {
425 return fileDescriptor_0ee3deb72053811a, []int{5}
428 func (m *Point) XXX_Unmarshal(b []byte) error {
429 return xxx_messageInfo_Point.Unmarshal(m, b)
431 func (m *Point) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
432 return xxx_messageInfo_Point.Marshal(b, m, deterministic)
434 func (m *Point) XXX_Merge(src proto.Message) {
435 xxx_messageInfo_Point.Merge(m, src)
437 func (m *Point) XXX_Size() int {
438 return xxx_messageInfo_Point.Size(m)
440 func (m *Point) XXX_DiscardUnknown() {
441 xxx_messageInfo_Point.DiscardUnknown(m)
444 var xxx_messageInfo_Point proto.InternalMessageInfo
446 func (m *Point) GetTimestamp() *timestamp.Timestamp {
453 type isPoint_Value interface {
457 type Point_Int64Value struct {
458 Int64Value int64 `protobuf:"varint,2,opt,name=int64_value,json=int64Value,proto3,oneof"`
461 type Point_DoubleValue struct {
462 DoubleValue float64 `protobuf:"fixed64,3,opt,name=double_value,json=doubleValue,proto3,oneof"`
465 type Point_DistributionValue struct {
466 DistributionValue *DistributionValue `protobuf:"bytes,4,opt,name=distribution_value,json=distributionValue,proto3,oneof"`
469 type Point_SummaryValue struct {
470 SummaryValue *SummaryValue `protobuf:"bytes,5,opt,name=summary_value,json=summaryValue,proto3,oneof"`
473 func (*Point_Int64Value) isPoint_Value() {}
475 func (*Point_DoubleValue) isPoint_Value() {}
477 func (*Point_DistributionValue) isPoint_Value() {}
479 func (*Point_SummaryValue) isPoint_Value() {}
481 func (m *Point) GetValue() isPoint_Value {
488 func (m *Point) GetInt64Value() int64 {
489 if x, ok := m.GetValue().(*Point_Int64Value); ok {
495 func (m *Point) GetDoubleValue() float64 {
496 if x, ok := m.GetValue().(*Point_DoubleValue); ok {
502 func (m *Point) GetDistributionValue() *DistributionValue {
503 if x, ok := m.GetValue().(*Point_DistributionValue); ok {
504 return x.DistributionValue
509 func (m *Point) GetSummaryValue() *SummaryValue {
510 if x, ok := m.GetValue().(*Point_SummaryValue); ok {
511 return x.SummaryValue
516 // XXX_OneofWrappers is for the internal use of the proto package.
517 func (*Point) XXX_OneofWrappers() []interface{} {
518 return []interface{}{
519 (*Point_Int64Value)(nil),
520 (*Point_DoubleValue)(nil),
521 (*Point_DistributionValue)(nil),
522 (*Point_SummaryValue)(nil),
526 // Distribution contains summary statistics for a population of values. It
527 // optionally contains a histogram representing the distribution of those
528 // values across a set of buckets.
529 type DistributionValue struct {
530 // The number of values in the population. Must be non-negative. This value
531 // must equal the sum of the values in bucket_counts if a histogram is
533 Count int64 `protobuf:"varint,1,opt,name=count,proto3" json:"count,omitempty"`
534 // The sum of the values in the population. If count is zero then this field
536 Sum float64 `protobuf:"fixed64,2,opt,name=sum,proto3" json:"sum,omitempty"`
537 // The sum of squared deviations from the mean of the values in the
538 // population. For values x_i this is:
540 // Sum[i=1..n]((x_i - mean)^2)
542 // Knuth, "The Art of Computer Programming", Vol. 2, page 323, 3rd edition
543 // describes Welford's method for accumulating this sum in one pass.
545 // If count is zero then this field must be zero.
546 SumOfSquaredDeviation float64 `protobuf:"fixed64,3,opt,name=sum_of_squared_deviation,json=sumOfSquaredDeviation,proto3" json:"sum_of_squared_deviation,omitempty"`
547 // Don't change bucket boundaries within a TimeSeries if your backend doesn't
549 // TODO(issue #152): consider not required to send bucket options for
551 BucketOptions *DistributionValue_BucketOptions `protobuf:"bytes,4,opt,name=bucket_options,json=bucketOptions,proto3" json:"bucket_options,omitempty"`
552 // If the distribution does not have a histogram, then omit this field.
553 // If there is a histogram, then the sum of the values in the Bucket counts
554 // must equal the value in the count field of the distribution.
555 Buckets []*DistributionValue_Bucket `protobuf:"bytes,5,rep,name=buckets,proto3" json:"buckets,omitempty"`
556 XXX_NoUnkeyedLiteral struct{} `json:"-"`
557 XXX_unrecognized []byte `json:"-"`
558 XXX_sizecache int32 `json:"-"`
561 func (m *DistributionValue) Reset() { *m = DistributionValue{} }
562 func (m *DistributionValue) String() string { return proto.CompactTextString(m) }
563 func (*DistributionValue) ProtoMessage() {}
564 func (*DistributionValue) Descriptor() ([]byte, []int) {
565 return fileDescriptor_0ee3deb72053811a, []int{6}
568 func (m *DistributionValue) XXX_Unmarshal(b []byte) error {
569 return xxx_messageInfo_DistributionValue.Unmarshal(m, b)
571 func (m *DistributionValue) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
572 return xxx_messageInfo_DistributionValue.Marshal(b, m, deterministic)
574 func (m *DistributionValue) XXX_Merge(src proto.Message) {
575 xxx_messageInfo_DistributionValue.Merge(m, src)
577 func (m *DistributionValue) XXX_Size() int {
578 return xxx_messageInfo_DistributionValue.Size(m)
580 func (m *DistributionValue) XXX_DiscardUnknown() {
581 xxx_messageInfo_DistributionValue.DiscardUnknown(m)
584 var xxx_messageInfo_DistributionValue proto.InternalMessageInfo
586 func (m *DistributionValue) GetCount() int64 {
593 func (m *DistributionValue) GetSum() float64 {
600 func (m *DistributionValue) GetSumOfSquaredDeviation() float64 {
602 return m.SumOfSquaredDeviation
607 func (m *DistributionValue) GetBucketOptions() *DistributionValue_BucketOptions {
609 return m.BucketOptions
614 func (m *DistributionValue) GetBuckets() []*DistributionValue_Bucket {
621 // A Distribution may optionally contain a histogram of the values in the
622 // population. The bucket boundaries for that histogram are described by
625 // If bucket_options has no type, then there is no histogram associated with
627 type DistributionValue_BucketOptions struct {
628 // Types that are valid to be assigned to Type:
629 // *DistributionValue_BucketOptions_Explicit_
630 Type isDistributionValue_BucketOptions_Type `protobuf_oneof:"type"`
631 XXX_NoUnkeyedLiteral struct{} `json:"-"`
632 XXX_unrecognized []byte `json:"-"`
633 XXX_sizecache int32 `json:"-"`
636 func (m *DistributionValue_BucketOptions) Reset() { *m = DistributionValue_BucketOptions{} }
637 func (m *DistributionValue_BucketOptions) String() string { return proto.CompactTextString(m) }
638 func (*DistributionValue_BucketOptions) ProtoMessage() {}
639 func (*DistributionValue_BucketOptions) Descriptor() ([]byte, []int) {
640 return fileDescriptor_0ee3deb72053811a, []int{6, 0}
643 func (m *DistributionValue_BucketOptions) XXX_Unmarshal(b []byte) error {
644 return xxx_messageInfo_DistributionValue_BucketOptions.Unmarshal(m, b)
646 func (m *DistributionValue_BucketOptions) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
647 return xxx_messageInfo_DistributionValue_BucketOptions.Marshal(b, m, deterministic)
649 func (m *DistributionValue_BucketOptions) XXX_Merge(src proto.Message) {
650 xxx_messageInfo_DistributionValue_BucketOptions.Merge(m, src)
652 func (m *DistributionValue_BucketOptions) XXX_Size() int {
653 return xxx_messageInfo_DistributionValue_BucketOptions.Size(m)
655 func (m *DistributionValue_BucketOptions) XXX_DiscardUnknown() {
656 xxx_messageInfo_DistributionValue_BucketOptions.DiscardUnknown(m)
659 var xxx_messageInfo_DistributionValue_BucketOptions proto.InternalMessageInfo
661 type isDistributionValue_BucketOptions_Type interface {
662 isDistributionValue_BucketOptions_Type()
665 type DistributionValue_BucketOptions_Explicit_ struct {
666 Explicit *DistributionValue_BucketOptions_Explicit `protobuf:"bytes,1,opt,name=explicit,proto3,oneof"`
669 func (*DistributionValue_BucketOptions_Explicit_) isDistributionValue_BucketOptions_Type() {}
671 func (m *DistributionValue_BucketOptions) GetType() isDistributionValue_BucketOptions_Type {
678 func (m *DistributionValue_BucketOptions) GetExplicit() *DistributionValue_BucketOptions_Explicit {
679 if x, ok := m.GetType().(*DistributionValue_BucketOptions_Explicit_); ok {
685 // XXX_OneofWrappers is for the internal use of the proto package.
686 func (*DistributionValue_BucketOptions) XXX_OneofWrappers() []interface{} {
687 return []interface{}{
688 (*DistributionValue_BucketOptions_Explicit_)(nil),
692 // Specifies a set of buckets with arbitrary upper-bounds.
693 // This defines size(bounds) + 1 (= N) buckets. The boundaries for bucket
696 // [0, bucket_bounds[i]) for i == 0
697 // [bucket_bounds[i-1], bucket_bounds[i]) for 0 < i < N-1
698 // [bucket_bounds[i], +infinity) for i == N-1
699 type DistributionValue_BucketOptions_Explicit struct {
700 // The values must be strictly increasing and > 0.
701 Bounds []float64 `protobuf:"fixed64,1,rep,packed,name=bounds,proto3" json:"bounds,omitempty"`
702 XXX_NoUnkeyedLiteral struct{} `json:"-"`
703 XXX_unrecognized []byte `json:"-"`
704 XXX_sizecache int32 `json:"-"`
707 func (m *DistributionValue_BucketOptions_Explicit) Reset() {
708 *m = DistributionValue_BucketOptions_Explicit{}
710 func (m *DistributionValue_BucketOptions_Explicit) String() string { return proto.CompactTextString(m) }
711 func (*DistributionValue_BucketOptions_Explicit) ProtoMessage() {}
712 func (*DistributionValue_BucketOptions_Explicit) Descriptor() ([]byte, []int) {
713 return fileDescriptor_0ee3deb72053811a, []int{6, 0, 0}
716 func (m *DistributionValue_BucketOptions_Explicit) XXX_Unmarshal(b []byte) error {
717 return xxx_messageInfo_DistributionValue_BucketOptions_Explicit.Unmarshal(m, b)
719 func (m *DistributionValue_BucketOptions_Explicit) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
720 return xxx_messageInfo_DistributionValue_BucketOptions_Explicit.Marshal(b, m, deterministic)
722 func (m *DistributionValue_BucketOptions_Explicit) XXX_Merge(src proto.Message) {
723 xxx_messageInfo_DistributionValue_BucketOptions_Explicit.Merge(m, src)
725 func (m *DistributionValue_BucketOptions_Explicit) XXX_Size() int {
726 return xxx_messageInfo_DistributionValue_BucketOptions_Explicit.Size(m)
728 func (m *DistributionValue_BucketOptions_Explicit) XXX_DiscardUnknown() {
729 xxx_messageInfo_DistributionValue_BucketOptions_Explicit.DiscardUnknown(m)
732 var xxx_messageInfo_DistributionValue_BucketOptions_Explicit proto.InternalMessageInfo
734 func (m *DistributionValue_BucketOptions_Explicit) GetBounds() []float64 {
741 type DistributionValue_Bucket struct {
742 // The number of values in each bucket of the histogram, as described in
744 Count int64 `protobuf:"varint,1,opt,name=count,proto3" json:"count,omitempty"`
745 // If the distribution does not have a histogram, then omit this field.
746 Exemplar *DistributionValue_Exemplar `protobuf:"bytes,2,opt,name=exemplar,proto3" json:"exemplar,omitempty"`
747 XXX_NoUnkeyedLiteral struct{} `json:"-"`
748 XXX_unrecognized []byte `json:"-"`
749 XXX_sizecache int32 `json:"-"`
752 func (m *DistributionValue_Bucket) Reset() { *m = DistributionValue_Bucket{} }
753 func (m *DistributionValue_Bucket) String() string { return proto.CompactTextString(m) }
754 func (*DistributionValue_Bucket) ProtoMessage() {}
755 func (*DistributionValue_Bucket) Descriptor() ([]byte, []int) {
756 return fileDescriptor_0ee3deb72053811a, []int{6, 1}
759 func (m *DistributionValue_Bucket) XXX_Unmarshal(b []byte) error {
760 return xxx_messageInfo_DistributionValue_Bucket.Unmarshal(m, b)
762 func (m *DistributionValue_Bucket) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
763 return xxx_messageInfo_DistributionValue_Bucket.Marshal(b, m, deterministic)
765 func (m *DistributionValue_Bucket) XXX_Merge(src proto.Message) {
766 xxx_messageInfo_DistributionValue_Bucket.Merge(m, src)
768 func (m *DistributionValue_Bucket) XXX_Size() int {
769 return xxx_messageInfo_DistributionValue_Bucket.Size(m)
771 func (m *DistributionValue_Bucket) XXX_DiscardUnknown() {
772 xxx_messageInfo_DistributionValue_Bucket.DiscardUnknown(m)
775 var xxx_messageInfo_DistributionValue_Bucket proto.InternalMessageInfo
777 func (m *DistributionValue_Bucket) GetCount() int64 {
784 func (m *DistributionValue_Bucket) GetExemplar() *DistributionValue_Exemplar {
791 // Exemplars are example points that may be used to annotate aggregated
792 // Distribution values. They are metadata that gives information about a
793 // particular value added to a Distribution bucket.
794 type DistributionValue_Exemplar struct {
795 // Value of the exemplar point. It determines which bucket the exemplar
797 Value float64 `protobuf:"fixed64,1,opt,name=value,proto3" json:"value,omitempty"`
798 // The observation (sampling) time of the above value.
799 Timestamp *timestamp.Timestamp `protobuf:"bytes,2,opt,name=timestamp,proto3" json:"timestamp,omitempty"`
800 // Contextual information about the example value.
801 Attachments map[string]string `protobuf:"bytes,3,rep,name=attachments,proto3" json:"attachments,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"`
802 XXX_NoUnkeyedLiteral struct{} `json:"-"`
803 XXX_unrecognized []byte `json:"-"`
804 XXX_sizecache int32 `json:"-"`
807 func (m *DistributionValue_Exemplar) Reset() { *m = DistributionValue_Exemplar{} }
808 func (m *DistributionValue_Exemplar) String() string { return proto.CompactTextString(m) }
809 func (*DistributionValue_Exemplar) ProtoMessage() {}
810 func (*DistributionValue_Exemplar) Descriptor() ([]byte, []int) {
811 return fileDescriptor_0ee3deb72053811a, []int{6, 2}
814 func (m *DistributionValue_Exemplar) XXX_Unmarshal(b []byte) error {
815 return xxx_messageInfo_DistributionValue_Exemplar.Unmarshal(m, b)
817 func (m *DistributionValue_Exemplar) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
818 return xxx_messageInfo_DistributionValue_Exemplar.Marshal(b, m, deterministic)
820 func (m *DistributionValue_Exemplar) XXX_Merge(src proto.Message) {
821 xxx_messageInfo_DistributionValue_Exemplar.Merge(m, src)
823 func (m *DistributionValue_Exemplar) XXX_Size() int {
824 return xxx_messageInfo_DistributionValue_Exemplar.Size(m)
826 func (m *DistributionValue_Exemplar) XXX_DiscardUnknown() {
827 xxx_messageInfo_DistributionValue_Exemplar.DiscardUnknown(m)
830 var xxx_messageInfo_DistributionValue_Exemplar proto.InternalMessageInfo
832 func (m *DistributionValue_Exemplar) GetValue() float64 {
839 func (m *DistributionValue_Exemplar) GetTimestamp() *timestamp.Timestamp {
846 func (m *DistributionValue_Exemplar) GetAttachments() map[string]string {
853 // The start_timestamp only applies to the count and sum in the SummaryValue.
854 type SummaryValue struct {
855 // The total number of recorded values since start_time. Optional since
856 // some systems don't expose this.
857 Count *wrappers.Int64Value `protobuf:"bytes,1,opt,name=count,proto3" json:"count,omitempty"`
858 // The total sum of recorded values since start_time. Optional since some
859 // systems don't expose this. If count is zero then this field must be zero.
860 // This field must be unset if the sum is not available.
861 Sum *wrappers.DoubleValue `protobuf:"bytes,2,opt,name=sum,proto3" json:"sum,omitempty"`
862 // Values calculated over an arbitrary time window.
863 Snapshot *SummaryValue_Snapshot `protobuf:"bytes,3,opt,name=snapshot,proto3" json:"snapshot,omitempty"`
864 XXX_NoUnkeyedLiteral struct{} `json:"-"`
865 XXX_unrecognized []byte `json:"-"`
866 XXX_sizecache int32 `json:"-"`
869 func (m *SummaryValue) Reset() { *m = SummaryValue{} }
870 func (m *SummaryValue) String() string { return proto.CompactTextString(m) }
871 func (*SummaryValue) ProtoMessage() {}
872 func (*SummaryValue) Descriptor() ([]byte, []int) {
873 return fileDescriptor_0ee3deb72053811a, []int{7}
876 func (m *SummaryValue) XXX_Unmarshal(b []byte) error {
877 return xxx_messageInfo_SummaryValue.Unmarshal(m, b)
879 func (m *SummaryValue) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
880 return xxx_messageInfo_SummaryValue.Marshal(b, m, deterministic)
882 func (m *SummaryValue) XXX_Merge(src proto.Message) {
883 xxx_messageInfo_SummaryValue.Merge(m, src)
885 func (m *SummaryValue) XXX_Size() int {
886 return xxx_messageInfo_SummaryValue.Size(m)
888 func (m *SummaryValue) XXX_DiscardUnknown() {
889 xxx_messageInfo_SummaryValue.DiscardUnknown(m)
892 var xxx_messageInfo_SummaryValue proto.InternalMessageInfo
894 func (m *SummaryValue) GetCount() *wrappers.Int64Value {
901 func (m *SummaryValue) GetSum() *wrappers.DoubleValue {
908 func (m *SummaryValue) GetSnapshot() *SummaryValue_Snapshot {
915 // The values in this message can be reset at arbitrary unknown times, with
916 // the requirement that all of them are reset at the same time.
917 type SummaryValue_Snapshot struct {
918 // The number of values in the snapshot. Optional since some systems don't
920 Count *wrappers.Int64Value `protobuf:"bytes,1,opt,name=count,proto3" json:"count,omitempty"`
921 // The sum of values in the snapshot. Optional since some systems don't
922 // expose this. If count is zero then this field must be zero or not set
923 // (if not supported).
924 Sum *wrappers.DoubleValue `protobuf:"bytes,2,opt,name=sum,proto3" json:"sum,omitempty"`
925 // A list of values at different percentiles of the distribution calculated
926 // from the current snapshot. The percentiles must be strictly increasing.
927 PercentileValues []*SummaryValue_Snapshot_ValueAtPercentile `protobuf:"bytes,3,rep,name=percentile_values,json=percentileValues,proto3" json:"percentile_values,omitempty"`
928 XXX_NoUnkeyedLiteral struct{} `json:"-"`
929 XXX_unrecognized []byte `json:"-"`
930 XXX_sizecache int32 `json:"-"`
933 func (m *SummaryValue_Snapshot) Reset() { *m = SummaryValue_Snapshot{} }
934 func (m *SummaryValue_Snapshot) String() string { return proto.CompactTextString(m) }
935 func (*SummaryValue_Snapshot) ProtoMessage() {}
936 func (*SummaryValue_Snapshot) Descriptor() ([]byte, []int) {
937 return fileDescriptor_0ee3deb72053811a, []int{7, 0}
940 func (m *SummaryValue_Snapshot) XXX_Unmarshal(b []byte) error {
941 return xxx_messageInfo_SummaryValue_Snapshot.Unmarshal(m, b)
943 func (m *SummaryValue_Snapshot) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
944 return xxx_messageInfo_SummaryValue_Snapshot.Marshal(b, m, deterministic)
946 func (m *SummaryValue_Snapshot) XXX_Merge(src proto.Message) {
947 xxx_messageInfo_SummaryValue_Snapshot.Merge(m, src)
949 func (m *SummaryValue_Snapshot) XXX_Size() int {
950 return xxx_messageInfo_SummaryValue_Snapshot.Size(m)
952 func (m *SummaryValue_Snapshot) XXX_DiscardUnknown() {
953 xxx_messageInfo_SummaryValue_Snapshot.DiscardUnknown(m)
956 var xxx_messageInfo_SummaryValue_Snapshot proto.InternalMessageInfo
958 func (m *SummaryValue_Snapshot) GetCount() *wrappers.Int64Value {
965 func (m *SummaryValue_Snapshot) GetSum() *wrappers.DoubleValue {
972 func (m *SummaryValue_Snapshot) GetPercentileValues() []*SummaryValue_Snapshot_ValueAtPercentile {
974 return m.PercentileValues
979 // Represents the value at a given percentile of a distribution.
980 type SummaryValue_Snapshot_ValueAtPercentile struct {
981 // The percentile of a distribution. Must be in the interval
983 Percentile float64 `protobuf:"fixed64,1,opt,name=percentile,proto3" json:"percentile,omitempty"`
984 // The value at the given percentile of a distribution.
985 Value float64 `protobuf:"fixed64,2,opt,name=value,proto3" json:"value,omitempty"`
986 XXX_NoUnkeyedLiteral struct{} `json:"-"`
987 XXX_unrecognized []byte `json:"-"`
988 XXX_sizecache int32 `json:"-"`
991 func (m *SummaryValue_Snapshot_ValueAtPercentile) Reset() {
992 *m = SummaryValue_Snapshot_ValueAtPercentile{}
994 func (m *SummaryValue_Snapshot_ValueAtPercentile) String() string { return proto.CompactTextString(m) }
995 func (*SummaryValue_Snapshot_ValueAtPercentile) ProtoMessage() {}
996 func (*SummaryValue_Snapshot_ValueAtPercentile) Descriptor() ([]byte, []int) {
997 return fileDescriptor_0ee3deb72053811a, []int{7, 0, 0}
1000 func (m *SummaryValue_Snapshot_ValueAtPercentile) XXX_Unmarshal(b []byte) error {
1001 return xxx_messageInfo_SummaryValue_Snapshot_ValueAtPercentile.Unmarshal(m, b)
1003 func (m *SummaryValue_Snapshot_ValueAtPercentile) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
1004 return xxx_messageInfo_SummaryValue_Snapshot_ValueAtPercentile.Marshal(b, m, deterministic)
1006 func (m *SummaryValue_Snapshot_ValueAtPercentile) XXX_Merge(src proto.Message) {
1007 xxx_messageInfo_SummaryValue_Snapshot_ValueAtPercentile.Merge(m, src)
1009 func (m *SummaryValue_Snapshot_ValueAtPercentile) XXX_Size() int {
1010 return xxx_messageInfo_SummaryValue_Snapshot_ValueAtPercentile.Size(m)
1012 func (m *SummaryValue_Snapshot_ValueAtPercentile) XXX_DiscardUnknown() {
1013 xxx_messageInfo_SummaryValue_Snapshot_ValueAtPercentile.DiscardUnknown(m)
1016 var xxx_messageInfo_SummaryValue_Snapshot_ValueAtPercentile proto.InternalMessageInfo
1018 func (m *SummaryValue_Snapshot_ValueAtPercentile) GetPercentile() float64 {
1025 func (m *SummaryValue_Snapshot_ValueAtPercentile) GetValue() float64 {
1033 proto.RegisterEnum("opencensus.proto.metrics.v1.MetricDescriptor_Type", MetricDescriptor_Type_name, MetricDescriptor_Type_value)
1034 proto.RegisterType((*Metric)(nil), "opencensus.proto.metrics.v1.Metric")
1035 proto.RegisterType((*MetricDescriptor)(nil), "opencensus.proto.metrics.v1.MetricDescriptor")
1036 proto.RegisterType((*LabelKey)(nil), "opencensus.proto.metrics.v1.LabelKey")
1037 proto.RegisterType((*TimeSeries)(nil), "opencensus.proto.metrics.v1.TimeSeries")
1038 proto.RegisterType((*LabelValue)(nil), "opencensus.proto.metrics.v1.LabelValue")
1039 proto.RegisterType((*Point)(nil), "opencensus.proto.metrics.v1.Point")
1040 proto.RegisterType((*DistributionValue)(nil), "opencensus.proto.metrics.v1.DistributionValue")
1041 proto.RegisterType((*DistributionValue_BucketOptions)(nil), "opencensus.proto.metrics.v1.DistributionValue.BucketOptions")
1042 proto.RegisterType((*DistributionValue_BucketOptions_Explicit)(nil), "opencensus.proto.metrics.v1.DistributionValue.BucketOptions.Explicit")
1043 proto.RegisterType((*DistributionValue_Bucket)(nil), "opencensus.proto.metrics.v1.DistributionValue.Bucket")
1044 proto.RegisterType((*DistributionValue_Exemplar)(nil), "opencensus.proto.metrics.v1.DistributionValue.Exemplar")
1045 proto.RegisterMapType((map[string]string)(nil), "opencensus.proto.metrics.v1.DistributionValue.Exemplar.AttachmentsEntry")
1046 proto.RegisterType((*SummaryValue)(nil), "opencensus.proto.metrics.v1.SummaryValue")
1047 proto.RegisterType((*SummaryValue_Snapshot)(nil), "opencensus.proto.metrics.v1.SummaryValue.Snapshot")
1048 proto.RegisterType((*SummaryValue_Snapshot_ValueAtPercentile)(nil), "opencensus.proto.metrics.v1.SummaryValue.Snapshot.ValueAtPercentile")
1052 proto.RegisterFile("opencensus/proto/metrics/v1/metrics.proto", fileDescriptor_0ee3deb72053811a)
1055 var fileDescriptor_0ee3deb72053811a = []byte{
1056 // 1098 bytes of a gzipped FileDescriptorProto
1057 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xbc, 0x56, 0xdd, 0x6e, 0x1b, 0xc5,
1058 0x17, 0xcf, 0xda, 0x8e, 0xe3, 0x9c, 0x75, 0xdb, 0xf5, 0xa8, 0xed, 0xdf, 0xda, 0xfc, 0x15, 0xc2,
1059 0x22, 0x20, 0x15, 0xca, 0x5a, 0x31, 0xa5, 0xad, 0x2a, 0x54, 0x14, 0xc7, 0x6e, 0x62, 0xc8, 0x87,
1060 0x35, 0xb6, 0x2b, 0xd1, 0x1b, 0x6b, 0xbd, 0x9e, 0x24, 0x4b, 0xbc, 0x1f, 0xdd, 0x99, 0x35, 0xf8,
1061 0x05, 0x78, 0x04, 0xae, 0xb9, 0x45, 0x3c, 0x07, 0x57, 0x3c, 0x01, 0x4f, 0x81, 0x78, 0x03, 0xb4,
1062 0x33, 0xb3, 0x1f, 0x89, 0xc1, 0xd4, 0x45, 0xe2, 0xee, 0x9c, 0x33, 0xe7, 0xfc, 0xfc, 0x3b, 0x9f,
1063 0x5e, 0x78, 0xe4, 0x07, 0xc4, 0xb3, 0x89, 0x47, 0x23, 0xda, 0x08, 0x42, 0x9f, 0xf9, 0x0d, 0x97,
1064 0xb0, 0xd0, 0xb1, 0x69, 0x63, 0xb6, 0x9f, 0x88, 0x26, 0x7f, 0x40, 0x5b, 0x99, 0xab, 0xb0, 0x98,
1065 0xc9, 0xfb, 0x6c, 0x5f, 0x7f, 0xef, 0xd2, 0xf7, 0x2f, 0xa7, 0x44, 0x60, 0x8c, 0xa3, 0x8b, 0x06,
1066 0x73, 0x5c, 0x42, 0x99, 0xe5, 0x06, 0xc2, 0x57, 0xdf, 0xbe, 0xed, 0xf0, 0x6d, 0x68, 0x05, 0x01,
1067 0x09, 0x25, 0x96, 0xfe, 0xc9, 0x02, 0x91, 0x90, 0x50, 0x3f, 0x0a, 0x6d, 0x12, 0x33, 0x49, 0x64,
1068 0xe1, 0x6c, 0xfc, 0xa1, 0x40, 0xf9, 0x94, 0xff, 0x38, 0x7a, 0x0d, 0x35, 0x41, 0x63, 0x34, 0x21,
1069 0xd4, 0x0e, 0x9d, 0x80, 0xf9, 0x61, 0x5d, 0xd9, 0x51, 0x76, 0xd5, 0xe6, 0x9e, 0xb9, 0x84, 0xb1,
1070 0x29, 0xe2, 0xdb, 0x69, 0x10, 0xd6, 0xdc, 0x5b, 0x16, 0x74, 0x04, 0xc0, 0xd3, 0x20, 0xa1, 0x43,
1071 0x68, 0xbd, 0xb0, 0x53, 0xdc, 0x55, 0x9b, 0x1f, 0x2f, 0x05, 0x1d, 0x38, 0x2e, 0xe9, 0x73, 0x77,
1072 0x9c, 0x0b, 0x45, 0x2d, 0xa8, 0x24, 0x19, 0xd4, 0x8b, 0x9c, 0xdb, 0x47, 0x8b, 0x30, 0x69, 0x8e,
1073 0xb3, 0x7d, 0x13, 0x4b, 0x19, 0xa7, 0x71, 0xc6, 0x0f, 0x45, 0xd0, 0x6e, 0x73, 0x46, 0x08, 0x4a,
1074 0x9e, 0xe5, 0x12, 0x9e, 0xf0, 0x26, 0xe6, 0x32, 0xda, 0x01, 0x35, 0x29, 0x85, 0xe3, 0x7b, 0xf5,
1075 0x02, 0x7f, 0xca, 0x9b, 0xe2, 0xa8, 0xc8, 0x73, 0x18, 0xa7, 0xb2, 0x89, 0xb9, 0x8c, 0x5e, 0x42,
1076 0x89, 0xcd, 0x03, 0x52, 0x2f, 0xed, 0x28, 0xbb, 0x77, 0x9b, 0xcd, 0x95, 0x4a, 0x67, 0x0e, 0xe6,
1077 0x01, 0xc1, 0x3c, 0x1e, 0xb5, 0x01, 0xa6, 0xd6, 0x98, 0x4c, 0x47, 0xd7, 0x64, 0x4e, 0xeb, 0xeb,
1078 0xbc, 0x66, 0x1f, 0x2e, 0x45, 0x3b, 0x89, 0xdd, 0xbf, 0x22, 0x73, 0xbc, 0x39, 0x95, 0x12, 0x35,
1079 0x7e, 0x52, 0xa0, 0x14, 0x83, 0xa2, 0x7b, 0xa0, 0x0e, 0xcf, 0xfa, 0xbd, 0xce, 0x61, 0xf7, 0x65,
1080 0xb7, 0xd3, 0xd6, 0xd6, 0x62, 0xc3, 0xd1, 0xc1, 0xf0, 0xa8, 0x33, 0xea, 0x9e, 0x0d, 0x9e, 0x3c,
1081 0xd6, 0x14, 0xa4, 0x41, 0x55, 0x18, 0xda, 0xe7, 0xc3, 0xd6, 0x49, 0x47, 0x2b, 0xa0, 0x87, 0x80,
1082 0xa4, 0xa5, 0xdb, 0x1f, 0xe0, 0x6e, 0x6b, 0x38, 0xe8, 0x9e, 0x9f, 0x69, 0x45, 0x74, 0x1f, 0xb4,
1083 0xc3, 0xe1, 0xe9, 0xf0, 0xe4, 0x60, 0xd0, 0x7d, 0x95, 0xc4, 0x97, 0xd0, 0x03, 0xa8, 0xe5, 0xac,
1084 0x12, 0x64, 0x1d, 0x6d, 0xc1, 0xff, 0xf2, 0xe6, 0x3c, 0x52, 0x19, 0xa9, 0xb0, 0xd1, 0x1f, 0x9e,
1085 0x9e, 0x1e, 0xe0, 0xaf, 0xb5, 0x0d, 0xe3, 0x05, 0x54, 0x92, 0x14, 0x90, 0x06, 0xc5, 0x6b, 0x32,
1086 0x97, 0xed, 0x88, 0xc5, 0x7f, 0xee, 0x86, 0xf1, 0x9b, 0x02, 0x90, 0xcd, 0x0d, 0x3a, 0x84, 0x7b,
1087 0x94, 0x59, 0x21, 0x1b, 0xa5, 0x1b, 0x24, 0xc7, 0x59, 0x37, 0xc5, 0x0a, 0x99, 0xc9, 0x0a, 0xf1,
1088 0x69, 0xe3, 0x1e, 0xf8, 0x2e, 0x0f, 0x49, 0x75, 0xf4, 0x25, 0x54, 0x45, 0x17, 0x66, 0xd6, 0x34,
1089 0x7a, 0xcb, 0xd9, 0xe5, 0x49, 0xbc, 0x8a, 0xfd, 0xb1, 0x3a, 0x4d, 0x65, 0x8a, 0x9e, 0x43, 0x39,
1090 0xf0, 0x1d, 0x8f, 0xd1, 0x7a, 0x91, 0xa3, 0x18, 0x4b, 0x51, 0x7a, 0xb1, 0x2b, 0x96, 0x11, 0xc6,
1091 0x17, 0x00, 0x19, 0x2c, 0xba, 0x0f, 0xeb, 0x9c, 0x8f, 0xac, 0x8f, 0x50, 0xd0, 0x16, 0x6c, 0x5e,
1092 0x59, 0x54, 0x30, 0xe5, 0xf5, 0xa9, 0xe0, 0xca, 0x95, 0x45, 0x79, 0x88, 0xf1, 0x4b, 0x01, 0xd6,
1093 0x39, 0x24, 0x7a, 0x06, 0x9b, 0xab, 0x54, 0x24, 0x73, 0x46, 0xef, 0x83, 0xea, 0x78, 0xec, 0xc9,
1094 0xe3, 0xdc, 0x4f, 0x14, 0x8f, 0xd7, 0x30, 0x70, 0xa3, 0x60, 0xf6, 0x01, 0x54, 0x27, 0x7e, 0x34,
1095 0x9e, 0x12, 0xe9, 0x13, 0x6f, 0x86, 0x72, 0xbc, 0x86, 0x55, 0x61, 0x15, 0x4e, 0x23, 0x40, 0x13,
1096 0x87, 0xb2, 0xd0, 0x19, 0x47, 0x71, 0xe3, 0xa4, 0x6b, 0x89, 0x53, 0x31, 0x97, 0x16, 0xa5, 0x9d,
1097 0x0b, 0xe3, 0x58, 0xc7, 0x6b, 0xb8, 0x36, 0xb9, 0x6d, 0x44, 0x3d, 0xb8, 0x43, 0x23, 0xd7, 0xb5,
1098 0xc2, 0xb9, 0xc4, 0x5e, 0xe7, 0xd8, 0x8f, 0x96, 0x62, 0xf7, 0x45, 0x44, 0x02, 0x5b, 0xa5, 0x39,
1099 0xbd, 0xb5, 0x21, 0x2b, 0x6e, 0xfc, 0x5a, 0x86, 0xda, 0x02, 0x8b, 0xb8, 0x21, 0xb6, 0x1f, 0x79,
1100 0x8c, 0xd7, 0xb3, 0x88, 0x85, 0x12, 0x0f, 0x31, 0x8d, 0x5c, 0x5e, 0x27, 0x05, 0xc7, 0x22, 0x7a,
1101 0x0a, 0x75, 0x1a, 0xb9, 0x23, 0xff, 0x62, 0x44, 0xdf, 0x44, 0x56, 0x48, 0x26, 0xa3, 0x09, 0x99,
1102 0x39, 0x16, 0x9f, 0x68, 0x5e, 0x2a, 0xfc, 0x80, 0x46, 0xee, 0xf9, 0x45, 0x5f, 0xbc, 0xb6, 0x93,
1103 0x47, 0x64, 0xc3, 0xdd, 0x71, 0x64, 0x5f, 0x13, 0x36, 0xf2, 0xf9, 0xb0, 0x53, 0x59, 0xae, 0xcf,
1104 0x57, 0x2b, 0x97, 0xd9, 0xe2, 0x20, 0xe7, 0x02, 0x03, 0xdf, 0x19, 0xe7, 0x55, 0x74, 0x0e, 0x1b,
1105 0xc2, 0x90, 0xdc, 0x9b, 0xcf, 0xde, 0x09, 0x1d, 0x27, 0x28, 0xfa, 0x8f, 0x0a, 0xdc, 0xb9, 0xf1,
1106 0x8b, 0xc8, 0x86, 0x0a, 0xf9, 0x2e, 0x98, 0x3a, 0xb6, 0xc3, 0xe4, 0xec, 0x75, 0xfe, 0x4d, 0x06,
1107 0x66, 0x47, 0x82, 0x1d, 0xaf, 0xe1, 0x14, 0x58, 0x37, 0xa0, 0x92, 0xd8, 0xd1, 0x43, 0x28, 0x8f,
1108 0xfd, 0xc8, 0x9b, 0xd0, 0xba, 0xb2, 0x53, 0xdc, 0x55, 0xb0, 0xd4, 0x5a, 0x65, 0x71, 0xa6, 0x75,
1109 0x0a, 0x65, 0x81, 0xf8, 0x37, 0x3d, 0xec, 0xc7, 0x84, 0x89, 0x1b, 0x4c, 0xad, 0x90, 0x37, 0x52,
1110 0x6d, 0x3e, 0x5d, 0x91, 0x70, 0x47, 0x86, 0xe3, 0x14, 0x48, 0xff, 0xbe, 0x10, 0x33, 0x14, 0xca,
1111 0xcd, 0x65, 0x56, 0x92, 0x65, 0xbe, 0xb1, 0xa5, 0x85, 0x55, 0xb6, 0xf4, 0x1b, 0x50, 0x2d, 0xc6,
1112 0x2c, 0xfb, 0xca, 0x25, 0xd9, 0xad, 0x39, 0x7e, 0x47, 0xd2, 0xe6, 0x41, 0x06, 0xd5, 0xf1, 0x58,
1113 0x38, 0xc7, 0x79, 0x70, 0xfd, 0x05, 0x68, 0xb7, 0x1d, 0xfe, 0xe2, 0x74, 0xa7, 0x19, 0x16, 0x72,
1114 0xe7, 0xea, 0x79, 0xe1, 0x99, 0x62, 0xfc, 0x5e, 0x84, 0x6a, 0x7e, 0xef, 0xd0, 0x7e, 0xbe, 0x09,
1115 0x6a, 0x73, 0x6b, 0x21, 0xe5, 0x6e, 0x7a, 0x6b, 0x92, 0x0e, 0x99, 0xd9, 0x96, 0xa9, 0xcd, 0xff,
1116 0x2f, 0x04, 0xb4, 0xb3, 0xc3, 0x23, 0x76, 0xf0, 0x0c, 0x2a, 0xd4, 0xb3, 0x02, 0x7a, 0xe5, 0x33,
1117 0xf9, 0x0d, 0xd1, 0x7c, 0xeb, 0xbb, 0x60, 0xf6, 0x65, 0x24, 0x4e, 0x31, 0xf4, 0x9f, 0x0b, 0x50,
1118 0x49, 0xcc, 0xff, 0x05, 0xff, 0x37, 0x50, 0x0b, 0x48, 0x68, 0x13, 0x8f, 0x39, 0xc9, 0x99, 0x4d,
1119 0xba, 0xdc, 0x5e, 0x3d, 0x11, 0x93, 0xab, 0x07, 0xac, 0x97, 0x42, 0x62, 0x2d, 0x83, 0x17, 0xff,
1120 0x5c, 0x7a, 0x17, 0x6a, 0x0b, 0x6e, 0x68, 0x1b, 0x20, 0x73, 0x94, 0xc3, 0x9b, 0xb3, 0xdc, 0xec,
1121 0x7a, 0x32, 0xd7, 0xad, 0x19, 0x6c, 0x3b, 0xfe, 0x32, 0x9a, 0xad, 0xaa, 0xf8, 0x2a, 0xa2, 0xbd,
1122 0xf8, 0xa1, 0xa7, 0xbc, 0x6e, 0x5f, 0x3a, 0xec, 0x2a, 0x1a, 0x9b, 0xb6, 0xef, 0x36, 0x44, 0xcc,
1123 0x9e, 0xe3, 0x51, 0x16, 0x46, 0xf1, 0xcc, 0xf1, 0xeb, 0xd8, 0xc8, 0xe0, 0xf6, 0xc4, 0x27, 0xef,
1124 0x25, 0xf1, 0xf6, 0x2e, 0xf3, 0x9f, 0xe0, 0xe3, 0x32, 0x7f, 0xf8, 0xf4, 0xcf, 0x00, 0x00, 0x00,
1125 0xff, 0xff, 0x8e, 0xfc, 0xd7, 0x46, 0xa8, 0x0b, 0x00, 0x00,