// Code generated by protoc-gen-go.
// source: signal_fx_protocol_buffers.proto
// DO NOT EDIT!

/*
Package com_signalfx_metrics_protobuf is a generated protocol buffer package.

It is generated from these files:
	signal_fx_protocol_buffers.proto

It has these top-level messages:
	Datum
	Dimension
	DataPoint
	DataPointUploadMessage
	PointValue
	Property
	PropertyValue
	Event
	EventUploadMessage
*/
package com_signalfx_metrics_protobuf

import proto "github.com/golang/protobuf/proto"
import fmt "fmt"
import math "math"

// Reference imports to suppress errors if they are not otherwise used.
var _ = proto.Marshal
var _ = fmt.Errorf
var _ = math.Inf

// This is a compile-time assertion to ensure that this generated file
// is compatible with the proto package it is being compiled against.
// A compilation error at this line likely means your copy of the
// proto package needs to be updated.
const _ = proto.ProtoPackageIsVersion2 // please upgrade the proto package

type MetricType int32

const (
	// *
	// Numerical: Periodic, instantaneous measurement of some state.
	MetricType_GAUGE MetricType = 0
	// *
	// Numerical: Count of occurrences. Generally non-negative integers.
	MetricType_COUNTER MetricType = 1
	// *
	// String: Used for non-continuous quantities (that is, measurements where there is a fixed
	// set of meaningful values). This is essentially a special case of gauge.
	MetricType_ENUM MetricType = 2
	// *
	// Tracks a value that increases over time, where only the difference is important.
	MetricType_CUMULATIVE_COUNTER MetricType = 3
)

var MetricType_name = map[int32]string{
	0: "GAUGE",
	1: "COUNTER",
	2: "ENUM",
	3: "CUMULATIVE_COUNTER",
}
var MetricType_value = map[string]int32{
	"GAUGE":              0,
	"COUNTER":            1,
	"ENUM":               2,
	"CUMULATIVE_COUNTER": 3,
}

func (x MetricType) Enum() *MetricType {
	p := new(MetricType)
	*p = x
	return p
}
func (x MetricType) String() string {
	return proto.EnumName(MetricType_name, int32(x))
}
func (x *MetricType) UnmarshalJSON(data []byte) error {
	value, err := proto.UnmarshalJSONEnum(MetricType_value, data, "MetricType")
	if err != nil {
		return err
	}
	*x = MetricType(value)
	return nil
}
func (MetricType) EnumDescriptor() ([]byte, []int) { return fileDescriptor0, []int{0} }

// *
// Different categories of events supported
type EventCategory int32

const (
	// *
	// Created by user via UI or API, e.g. a deployment event
	EventCategory_USER_DEFINED EventCategory = 1000000
	// *
	// Output by anomaly detectors
	EventCategory_ALERT EventCategory = 100000
	// *
	// Audit trail events
	EventCategory_AUDIT EventCategory = 200000
	// *
	// Generated by analytics server
	EventCategory_JOB EventCategory = 300000
	// *
	// @deprecated
	// Event originated within collectd (deprecated in favor of AGENT)
	EventCategory_COLLECTD EventCategory = 400000
	// *
	// Service discovery event
	EventCategory_SERVICE_DISCOVERY EventCategory = 500000
	// *
	// Created by exception appenders to denote exceptional events
	EventCategory_EXCEPTION EventCategory = 700000
	// *
	// Event originated from an agent
	EventCategory_AGENT EventCategory = 2000000
)

var EventCategory_name = map[int32]string{
	1000000: "USER_DEFINED",
	100000:  "ALERT",
	200000:  "AUDIT",
	300000:  "JOB",
	400000:  "COLLECTD",
	500000:  "SERVICE_DISCOVERY",
	700000:  "EXCEPTION",
	2000000: "AGENT",
}
var EventCategory_value = map[string]int32{
	"USER_DEFINED":      1000000,
	"ALERT":             100000,
	"AUDIT":             200000,
	"JOB":               300000,
	"COLLECTD":          400000,
	"SERVICE_DISCOVERY": 500000,
	"EXCEPTION":         700000,
	"AGENT":             2000000,
}

func (x EventCategory) Enum() *EventCategory {
	p := new(EventCategory)
	*p = x
	return p
}
func (x EventCategory) String() string {
	return proto.EnumName(EventCategory_name, int32(x))
}
func (x *EventCategory) UnmarshalJSON(data []byte) error {
	value, err := proto.UnmarshalJSONEnum(EventCategory_value, data, "EventCategory")
	if err != nil {
		return err
	}
	*x = EventCategory(value)
	return nil
}
func (EventCategory) EnumDescriptor() ([]byte, []int) { return fileDescriptor0, []int{1} }

type Datum struct {
	StrValue         *string  `protobuf:"bytes,1,opt,name=strValue" json:"strValue,omitempty"`
	DoubleValue      *float64 `protobuf:"fixed64,2,opt,name=doubleValue" json:"doubleValue,omitempty"`
	IntValue         *int64   `protobuf:"varint,3,opt,name=intValue" json:"intValue,omitempty"`
	XXX_unrecognized []byte   `json:"-"`
}

func (m *Datum) Reset()                    { *m = Datum{} }
func (m *Datum) String() string            { return proto.CompactTextString(m) }
func (*Datum) ProtoMessage()               {}
func (*Datum) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{0} }

func (m *Datum) GetStrValue() string {
	if m != nil && m.StrValue != nil {
		return *m.StrValue
	}
	return ""
}

func (m *Datum) GetDoubleValue() float64 {
	if m != nil && m.DoubleValue != nil {
		return *m.DoubleValue
	}
	return 0
}

func (m *Datum) GetIntValue() int64 {
	if m != nil && m.IntValue != nil {
		return *m.IntValue
	}
	return 0
}

type Dimension struct {
	Key              *string `protobuf:"bytes,1,opt,name=key" json:"key,omitempty"`
	Value            *string `protobuf:"bytes,2,opt,name=value" json:"value,omitempty"`
	XXX_unrecognized []byte  `json:"-"`
}

func (m *Dimension) Reset()                    { *m = Dimension{} }
func (m *Dimension) String() string            { return proto.CompactTextString(m) }
func (*Dimension) ProtoMessage()               {}
func (*Dimension) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{1} }

func (m *Dimension) GetKey() string {
	if m != nil && m.Key != nil {
		return *m.Key
	}
	return ""
}

func (m *Dimension) GetValue() string {
	if m != nil && m.Value != nil {
		return *m.Value
	}
	return ""
}

type DataPoint struct {
	Source     *string      `protobuf:"bytes,1,opt,name=source" json:"source,omitempty"`
	Metric     *string      `protobuf:"bytes,2,opt,name=metric" json:"metric,omitempty"`
	Timestamp  *int64       `protobuf:"varint,3,opt,name=timestamp" json:"timestamp,omitempty"`
	Value      *Datum       `protobuf:"bytes,4,opt,name=value" json:"value,omitempty"`
	MetricType *MetricType  `protobuf:"varint,5,opt,name=metricType,enum=com.signalfx.metrics.protobuf.MetricType" json:"metricType,omitempty"`
	Dimensions []*Dimension `protobuf:"bytes,6,rep,name=dimensions" json:"dimensions,omitempty"`
	// *
	//  Note: Properties on datapoints are currently experimental and
	//        not fully supported by SignalFx
	Properties       []*Property `protobuf:"bytes,7,rep,name=properties" json:"properties,omitempty"`
	XXX_unrecognized []byte      `json:"-"`
}

func (m *DataPoint) Reset()                    { *m = DataPoint{} }
func (m *DataPoint) String() string            { return proto.CompactTextString(m) }
func (*DataPoint) ProtoMessage()               {}
func (*DataPoint) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{2} }

func (m *DataPoint) GetSource() string {
	if m != nil && m.Source != nil {
		return *m.Source
	}
	return ""
}

func (m *DataPoint) GetMetric() string {
	if m != nil && m.Metric != nil {
		return *m.Metric
	}
	return ""
}

func (m *DataPoint) GetTimestamp() int64 {
	if m != nil && m.Timestamp != nil {
		return *m.Timestamp
	}
	return 0
}

func (m *DataPoint) GetValue() *Datum {
	if m != nil {
		return m.Value
	}
	return nil
}

func (m *DataPoint) GetMetricType() MetricType {
	if m != nil && m.MetricType != nil {
		return *m.MetricType
	}
	return MetricType_GAUGE
}

func (m *DataPoint) GetDimensions() []*Dimension {
	if m != nil {
		return m.Dimensions
	}
	return nil
}

func (m *DataPoint) GetProperties() []*Property {
	if m != nil {
		return m.Properties
	}
	return nil
}

type DataPointUploadMessage struct {
	Datapoints       []*DataPoint `protobuf:"bytes,1,rep,name=datapoints" json:"datapoints,omitempty"`
	XXX_unrecognized []byte       `json:"-"`
}

func (m *DataPointUploadMessage) Reset()                    { *m = DataPointUploadMessage{} }
func (m *DataPointUploadMessage) String() string            { return proto.CompactTextString(m) }
func (*DataPointUploadMessage) ProtoMessage()               {}
func (*DataPointUploadMessage) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{3} }

func (m *DataPointUploadMessage) GetDatapoints() []*DataPoint {
	if m != nil {
		return m.Datapoints
	}
	return nil
}

type PointValue struct {
	Timestamp        *int64 `protobuf:"varint,3,opt,name=timestamp" json:"timestamp,omitempty"`
	Value            *Datum `protobuf:"bytes,4,opt,name=value" json:"value,omitempty"`
	XXX_unrecognized []byte `json:"-"`
}

func (m *PointValue) Reset()                    { *m = PointValue{} }
func (m *PointValue) String() string            { return proto.CompactTextString(m) }
func (*PointValue) ProtoMessage()               {}
func (*PointValue) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{4} }

func (m *PointValue) GetTimestamp() int64 {
	if m != nil && m.Timestamp != nil {
		return *m.Timestamp
	}
	return 0
}

func (m *PointValue) GetValue() *Datum {
	if m != nil {
		return m.Value
	}
	return nil
}

type Property struct {
	Key              *string        `protobuf:"bytes,1,opt,name=key" json:"key,omitempty"`
	Value            *PropertyValue `protobuf:"bytes,2,opt,name=value" json:"value,omitempty"`
	XXX_unrecognized []byte         `json:"-"`
}

func (m *Property) Reset()                    { *m = Property{} }
func (m *Property) String() string            { return proto.CompactTextString(m) }
func (*Property) ProtoMessage()               {}
func (*Property) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{5} }

func (m *Property) GetKey() string {
	if m != nil && m.Key != nil {
		return *m.Key
	}
	return ""
}

func (m *Property) GetValue() *PropertyValue {
	if m != nil {
		return m.Value
	}
	return nil
}

type PropertyValue struct {
	StrValue         *string  `protobuf:"bytes,1,opt,name=strValue" json:"strValue,omitempty"`
	DoubleValue      *float64 `protobuf:"fixed64,2,opt,name=doubleValue" json:"doubleValue,omitempty"`
	IntValue         *int64   `protobuf:"varint,3,opt,name=intValue" json:"intValue,omitempty"`
	BoolValue        *bool    `protobuf:"varint,4,opt,name=boolValue" json:"boolValue,omitempty"`
	XXX_unrecognized []byte   `json:"-"`
}

func (m *PropertyValue) Reset()                    { *m = PropertyValue{} }
func (m *PropertyValue) String() string            { return proto.CompactTextString(m) }
func (*PropertyValue) ProtoMessage()               {}
func (*PropertyValue) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{6} }

func (m *PropertyValue) GetStrValue() string {
	if m != nil && m.StrValue != nil {
		return *m.StrValue
	}
	return ""
}

func (m *PropertyValue) GetDoubleValue() float64 {
	if m != nil && m.DoubleValue != nil {
		return *m.DoubleValue
	}
	return 0
}

func (m *PropertyValue) GetIntValue() int64 {
	if m != nil && m.IntValue != nil {
		return *m.IntValue
	}
	return 0
}

func (m *PropertyValue) GetBoolValue() bool {
	if m != nil && m.BoolValue != nil {
		return *m.BoolValue
	}
	return false
}

type Event struct {
	EventType        *string        `protobuf:"bytes,1,req,name=eventType" json:"eventType,omitempty"`
	Dimensions       []*Dimension   `protobuf:"bytes,2,rep,name=dimensions" json:"dimensions,omitempty"`
	Properties       []*Property    `protobuf:"bytes,3,rep,name=properties" json:"properties,omitempty"`
	Category         *EventCategory `protobuf:"varint,4,opt,name=category,enum=com.signalfx.metrics.protobuf.EventCategory" json:"category,omitempty"`
	Timestamp        *int64         `protobuf:"varint,5,opt,name=timestamp" json:"timestamp,omitempty"`
	XXX_unrecognized []byte         `json:"-"`
}

func (m *Event) Reset()                    { *m = Event{} }
func (m *Event) String() string            { return proto.CompactTextString(m) }
func (*Event) ProtoMessage()               {}
func (*Event) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{7} }

func (m *Event) GetEventType() string {
	if m != nil && m.EventType != nil {
		return *m.EventType
	}
	return ""
}

func (m *Event) GetDimensions() []*Dimension {
	if m != nil {
		return m.Dimensions
	}
	return nil
}

func (m *Event) GetProperties() []*Property {
	if m != nil {
		return m.Properties
	}
	return nil
}

func (m *Event) GetCategory() EventCategory {
	if m != nil && m.Category != nil {
		return *m.Category
	}
	return EventCategory_USER_DEFINED
}

func (m *Event) GetTimestamp() int64 {
	if m != nil && m.Timestamp != nil {
		return *m.Timestamp
	}
	return 0
}

type EventUploadMessage struct {
	Events           []*Event `protobuf:"bytes,1,rep,name=events" json:"events,omitempty"`
	XXX_unrecognized []byte   `json:"-"`
}

func (m *EventUploadMessage) Reset()                    { *m = EventUploadMessage{} }
func (m *EventUploadMessage) String() string            { return proto.CompactTextString(m) }
func (*EventUploadMessage) ProtoMessage()               {}
func (*EventUploadMessage) Descriptor() ([]byte, []int) { return fileDescriptor0, []int{8} }

func (m *EventUploadMessage) GetEvents() []*Event {
	if m != nil {
		return m.Events
	}
	return nil
}

func init() {
	proto.RegisterType((*Datum)(nil), "com.signalfx.metrics.protobuf.Datum")
	proto.RegisterType((*Dimension)(nil), "com.signalfx.metrics.protobuf.Dimension")
	proto.RegisterType((*DataPoint)(nil), "com.signalfx.metrics.protobuf.DataPoint")
	proto.RegisterType((*DataPointUploadMessage)(nil), "com.signalfx.metrics.protobuf.DataPointUploadMessage")
	proto.RegisterType((*PointValue)(nil), "com.signalfx.metrics.protobuf.PointValue")
	proto.RegisterType((*Property)(nil), "com.signalfx.metrics.protobuf.Property")
	proto.RegisterType((*PropertyValue)(nil), "com.signalfx.metrics.protobuf.PropertyValue")
	proto.RegisterType((*Event)(nil), "com.signalfx.metrics.protobuf.Event")
	proto.RegisterType((*EventUploadMessage)(nil), "com.signalfx.metrics.protobuf.EventUploadMessage")
	proto.RegisterEnum("com.signalfx.metrics.protobuf.MetricType", MetricType_name, MetricType_value)
	proto.RegisterEnum("com.signalfx.metrics.protobuf.EventCategory", EventCategory_name, EventCategory_value)
}

func init() { proto.RegisterFile("signal_fx_protocol_buffers.proto", fileDescriptor0) }

var fileDescriptor0 = []byte{
	// 614 bytes of a gzipped FileDescriptorProto
	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x09, 0x6e, 0x88, 0x02, 0xff, 0xac, 0x53, 0x3f, 0x6f, 0xd3, 0x5e,
	0x14, 0xfd, 0xbd, 0xb8, 0x4e, 0xe3, 0xeb, 0x36, 0xbf, 0xd7, 0x87, 0x54, 0xb2, 0x80, 0x2c, 0xab,
	0x52, 0x4d, 0x85, 0x32, 0x04, 0xb6, 0x52, 0x44, 0xb1, 0x5f, 0xab, 0x54, 0xf9, 0x53, 0xa5, 0x76,
	0x04, 0x62, 0x88, 0x9c, 0xf4, 0xa5, 0xb2, 0x48, 0xfc, 0x2c, 0xfb, 0xb9, 0x6a, 0x98, 0x3a, 0xb0,
	0x30, 0x20, 0x76, 0xa6, 0x6e, 0x4c, 0x8c, 0xec, 0x15, 0x9f, 0x83, 0xa1, 0x23, 0x1f, 0x03, 0xe5,
	0xb9, 0x8e, 0x1a, 0x06, 0x52, 0xfe, 0x6c, 0xf6, 0xbd, 0xf7, 0xdc, 0x7b, 0xce, 0xbd, 0xe7, 0x81,
	0x91, 0x04, 0x27, 0xa1, 0x3f, 0xea, 0x0d, 0xcf, 0x7a, 0x51, 0xcc, 0x05, 0x1f, 0xf0, 0x51, 0xaf,
	0x9f, 0x0e, 0x87, 0x2c, 0x4e, 0xaa, 0x32, 0x40, 0xee, 0x0d, 0xf8, 0xb8, 0x9a, 0x55, 0x0d, 0xcf,
	0xaa, 0x63, 0x26, 0xe2, 0x60, 0x70, 0x9d, 0xeb, 0xa7, 0x43, 0xf3, 0x19, 0xa8, 0x8e, 0x2f, 0xd2,
	0x31, 0xc1, 0x50, 0x4a, 0x44, 0xdc, 0xf5, 0x47, 0x29, 0xab, 0x20, 0x03, 0x59, 0x1a, 0xb9, 0x03,
	0xfa, 0x31, 0x4f, 0xfb, 0x23, 0x96, 0x05, 0x0b, 0x06, 0xb2, 0xd0, 0xb4, 0x2c, 0x08, 0x45, 0x16,
	0x51, 0x0c, 0x64, 0x29, 0xe6, 0x26, 0x68, 0x4e, 0x30, 0x66, 0x61, 0x12, 0xf0, 0x90, 0xe8, 0xa0,
	0xbc, 0x66, 0x93, 0xeb, 0x06, 0xab, 0xa0, 0x9e, 0xce, 0xa0, 0x9a, 0xf9, 0xb9, 0x00, 0x9a, 0xe3,
	0x0b, 0xff, 0x90, 0x07, 0xa1, 0x20, 0x65, 0x28, 0x26, 0x3c, 0x8d, 0x07, 0xf9, 0xb4, 0x32, 0x14,
	0x33, 0x72, 0x59, 0x35, 0x59, 0x03, 0x4d, 0x04, 0x63, 0x96, 0x08, 0x7f, 0x1c, 0x65, 0x93, 0xc8,
	0xa3, 0xbc, 0xdf, 0x92, 0x81, 0x2c, 0xbd, 0xb6, 0x51, 0xfd, 0xa5, 0xb4, 0x6a, 0xa6, 0x6b, 0x07,
	0x20, 0xcb, 0xb8, 0x93, 0x88, 0x55, 0x54, 0x03, 0x59, 0xe5, 0xda, 0x83, 0x05, 0xc8, 0xe6, 0x0c,
	0x40, 0x9e, 0x00, 0x1c, 0xe7, 0xea, 0x92, 0x4a, 0xd1, 0x50, 0x2c, 0xbd, 0x66, 0x2d, 0x1a, 0x3c,
	0x5b, 0xc7, 0x36, 0x40, 0x14, 0xf3, 0x88, 0xc5, 0x22, 0x60, 0x49, 0x65, 0x59, 0xa2, 0x37, 0x17,
	0xa0, 0x0f, 0x33, 0xc0, 0xc4, 0xec, 0xc2, 0xfa, 0x6c, 0x5d, 0x5e, 0x34, 0xe2, 0xfe, 0x71, 0x93,
	0x25, 0x89, 0x7f, 0x92, 0x91, 0xf2, 0x85, 0x1f, 0x4d, 0x33, 0x49, 0x05, 0xdd, 0x8e, 0x54, 0xde,
	0xca, 0x74, 0x01, 0xe4, 0x87, 0x3c, 0xe2, 0xbf, 0xda, 0xb3, 0xe9, 0x42, 0x29, 0x67, 0x3e, 0xef,
	0x82, 0xed, 0x9b, 0x2e, 0xd0, 0x6b, 0x0f, 0x6f, 0x29, 0x5f, 0xb2, 0x33, 0x5f, 0xc1, 0xea, 0x5c,
	0xe0, 0x8f, 0x6d, 0x3a, 0xd5, 0xd9, 0xe7, 0x7c, 0xd4, 0x9d, 0x09, 0x2b, 0x99, 0xdf, 0x11, 0xa8,
	0xf4, 0x94, 0x85, 0x62, 0x9a, 0x64, 0xd3, 0x0f, 0xe9, 0x11, 0x64, 0x14, 0x2c, 0xed, 0xa7, 0xc3,
	0x17, 0xfe, 0xea, 0xf0, 0xca, 0x6f, 0x1d, 0x9e, 0x3c, 0x85, 0xd2, 0xc0, 0x17, 0xec, 0x84, 0xc7,
	0x13, 0xc9, 0xb4, 0xbc, 0x70, 0x69, 0x52, 0x85, 0x7d, 0x8d, 0x99, 0x3f, 0xa9, 0x2a, 0x1f, 0xe9,
	0x01, 0x10, 0x59, 0x33, 0xef, 0xa3, 0xc7, 0x50, 0x94, 0xb2, 0x73, 0x0f, 0x6d, 0xdc, 0x66, 0xcc,
	0xd6, 0x1e, 0xc0, 0x8d, 0x07, 0xa2, 0x81, 0xba, 0xbf, 0xeb, 0xed, 0x53, 0xfc, 0x1f, 0xd1, 0x61,
	0xd9, 0x6e, 0x7b, 0x2d, 0x97, 0x76, 0x30, 0x22, 0x25, 0x58, 0xa2, 0x2d, 0xaf, 0x89, 0x0b, 0x64,
	0x1d, 0x88, 0xed, 0x35, 0xbd, 0xc6, 0xae, 0x5b, 0xef, 0xd2, 0x5e, 0x5e, 0xa1, 0x6c, 0x7d, 0x40,
	0xb0, 0x3a, 0x4f, 0x9c, 0xc0, 0x8a, 0x77, 0x44, 0x3b, 0x3d, 0x87, 0xee, 0xd5, 0x5b, 0xd4, 0xc1,
	0x97, 0x6f, 0x77, 0x88, 0x0e, 0xea, 0x6e, 0x83, 0x76, 0x5c, 0x7c, 0xf1, 0xbe, 0x28, 0x7f, 0x3c,
	0xa7, 0xee, 0xe2, 0xcb, 0x8f, 0x2b, 0x44, 0x03, 0xe5, 0xa0, 0xfd, 0x1c, 0x5f, 0x7d, 0x22, 0xa4,
	0x0c, 0x25, 0xbb, 0xdd, 0x68, 0x50, 0xdb, 0x75, 0xf0, 0xf9, 0x97, 0x0a, 0xb9, 0x0b, 0x6b, 0x47,
	0xb4, 0xd3, 0xad, 0xdb, 0xb4, 0xe7, 0xd4, 0x8f, 0xec, 0x76, 0x97, 0x76, 0x5e, 0xe2, 0x8b, 0xaf,
	0xf7, 0xc9, 0xff, 0xa0, 0xd1, 0x17, 0x36, 0x3d, 0x74, 0xeb, 0xed, 0x16, 0xbe, 0xfa, 0xb6, 0x25,
	0x3b, 0xee, 0xd3, 0x96, 0x8b, 0xcf, 0xdf, 0xbd, 0xf9, 0x11, 0x00, 0x00, 0xff, 0xff, 0x26, 0x1a,
	0x87, 0xd9, 0x4e, 0x05, 0x00, 0x00,
}
