diff --git a/config/config.go b/config/config.go index 6c3c7401..615c45d7 100644 --- a/config/config.go +++ b/config/config.go @@ -1,3 +1,4 @@ +// Deprecated: Use coopdatadog.Start() instead. package config import ( @@ -10,18 +11,32 @@ import ( type ( // DatadogParameters for connection and configuring background process to send information to Datadog Agent + // + // Deprecated: Use coopdatadog.Start() instead. DatadogParameters interface { // GetEnv where application is executed, dev, production, staging etc + // + // Deprecated: Use coopdatadog.Start() instead. GetEnv() string // GetService how must be service called and displayed in Datadog system + // + // Deprecated: Use coopdatadog.Start() instead. GetService() string // GetServiceVersion depends on system, can be Git Tag or API version + // + // Deprecated: Use coopdatadog.Start() instead. GetServiceVersion() string // GetDsdEndpoint Socket path or URL for DD StatsD + // + // Deprecated: Use coopdatadog.Start() instead. GetDsdEndpoint() string // GetApmEndpoint Socket path or URL for APM and profiler + // + // Deprecated: Use coopdatadog.Start() instead. GetApmEndpoint() string // IsExtraProfilingEnabled flag enables more optional profilers not recommended for production. + // + // Deprecated: Use coopdatadog.Start() instead. IsExtraProfilingEnabled() bool // IsDataDogConfigValid method to verify if configuration values are correct // @@ -29,22 +44,38 @@ type ( IsDataDogConfigValid() bool // Validate the DatadogConfig. Returns the first error found, returns nil if // the configuration is good. + // + // Deprecated: Use coopdatadog.Start() instead. Validate() error } // DatadogConfig that required to connect to Datadog Agent + // + // Deprecated: Use coopdatadog.Start() instead. DatadogConfig struct { // Env where application is executed, dev, production, staging etc + // + // Deprecated: Use coopdatadog.Start() instead. Env string `mapstructure:"dd_env" json:"dd_env,omitempty"` // Service how must be service called and displayed in Datadog system + // + // Deprecated: Use coopdatadog.Start() instead. Service string `mapstructure:"dd_service" json:"dd_service,omitempty"` // ServiceVersion depends on system, can be Git Tag or API version + // + // Deprecated: Use coopdatadog.Start() instead. ServiceVersion string `mapstructure:"dd_version" json:"dd_service_version,omitempty"` // DSD Socket path for DD StatsD, important to have unix prefix for that value, example: unix:///var/run/dd/dsd.socket + // + // Deprecated: Use coopdatadog.Start() instead. DSD string `mapstructure:"dd_dogstatsd_url" json:"dd_dsd,omitempty"` // APM Socket path for apm and profiler, unix prefix recommended, but not required, example: unix:///var/run/dd/apm.socket + // + // Deprecated: Use coopdatadog.Start() instead. APM string `mapstructure:"dd_trace_agent_url" json:"dd_apm,omitempty"` // EnableExtraProfiling flag enables more optional profilers not recommended for production. + // + // Deprecated: Use coopdatadog.Start() instead. EnableExtraProfiling bool `mapstructure:"dd_enable_extra_profiling" json:"dd_enable_extra_profiling,omitempty"` } ) @@ -62,6 +93,8 @@ func (d DatadogConfig) IsDataDogConfigValid() bool { // Validate the DatadogConfig. Returns the first error found, returns nil if // the configuration is good. +// +// Deprecated: Use coopdatadog.Start() instead. func (d DatadogConfig) Validate() error { if d.Env == "" { return errors.New("DD_ENV must be defined") @@ -81,16 +114,22 @@ func (d DatadogConfig) Validate() error { } // GetEnv where application is executed, dev, production, staging etc +// +// Deprecated: Use coopdatadog.Start() instead. func (d DatadogConfig) GetEnv() string { return d.Env } // GetService how must be service called and displayed in Datadog system +// +// Deprecated: Use coopdatadog.Start() instead. func (d DatadogConfig) GetService() string { return d.Service } // GetServiceVersion depends on system, can be Git Tag or API version +// +// Deprecated: Use coopdatadog.Start() instead. func (d DatadogConfig) GetServiceVersion() string { return d.ServiceVersion } @@ -98,6 +137,8 @@ func (d DatadogConfig) GetServiceVersion() string { // GetDsdEndpoint Socket path or URL for DD StatsD // For unix sockets, the unix-scheme prefix is required. // Example: unix:///var/run/dd/dsd.socket +// +// Deprecated: Use coopdatadog.Start() instead. func (d DatadogConfig) GetDsdEndpoint() string { return d.DSD } @@ -106,16 +147,22 @@ func (d DatadogConfig) GetDsdEndpoint() string { // For unix sockets, the unix-scheme prefix is not needed, but it is recommended to include it. // Example: unix:///var/run/dd/apm.socket // Example: http://my-agent:1234 +// +// Deprecated: Use coopdatadog.Start() instead. func (d DatadogConfig) GetApmEndpoint() string { return d.APM } // IsExtraProfilingEnabled return true if profilers not recommended for production are enabled. +// +// Deprecated: Use coopdatadog.Start() instead. func (d DatadogConfig) IsExtraProfilingEnabled() bool { return d.EnableExtraProfiling } // LoadDatadogConfigFromEnvVars loads a new DatadogConfig from known environment-variables. +// +// Deprecated: Use coopdatadog.Start() instead. func LoadDatadogConfigFromEnvVars() DatadogConfig { return DatadogConfig{ Env: os.Getenv(internal.DatadogEnvironment), diff --git a/metric/datadog.go b/metric/datadog.go index 3e7bc08d..edeca072 100644 --- a/metric/datadog.go +++ b/metric/datadog.go @@ -12,19 +12,30 @@ import ( type ( // DatadogMetricsClient ... + // + // Deprecated: Use metrics package instead DatadogMetricsClient interface { // GetClient statsd client + // + // Deprecated: Use metrics package instead GetClient() statsd.ClientInterface // GetDefaultTags that will be used in Datadog metrics + // + // Deprecated: Use metrics package instead GetDefaultTags() []string // GetServiceNamePrefix for metric name + // + // Deprecated: Use metrics package instead GetServiceNamePrefix() string } // DatadogMetrics ready to use client to send statsd metrics + // + // Deprecated: Use metrics package instead DatadogMetrics struct { - client *statsd.Client - ServicePrefix string + client *statsd.Client + ServicePrefix string + // Deprecated: Use metrics package instead DefaultMetricsTags []string } ) @@ -59,16 +70,22 @@ func NewDatadogMetrics(cfg config.DatadogParameters, orgPrefix string) (*Datadog } // GetClient statsd client +// +// Deprecated: Use metrics package instead func (d DatadogMetrics) GetClient() statsd.ClientInterface { return d.client } // GetDefaultTags that will be used in Datadog metrics +// +// Deprecated: Use metrics package instead func (d DatadogMetrics) GetDefaultTags() []string { return d.DefaultMetricsTags } // GetServiceNamePrefix for metric name +// +// Deprecated: Use metrics package instead func (d DatadogMetrics) GetServiceNamePrefix() string { return d.ServicePrefix } diff --git a/metric/metric.go b/metric/metric.go index 5dba1463..72cfd01d 100644 --- a/metric/metric.go +++ b/metric/metric.go @@ -1,6 +1,6 @@ // Package metric implements custom metrics with Dogstatsd // -// Deprecated: use metrics instead +// Deprecated: use metrics package instead package metric import ( @@ -15,40 +15,64 @@ import ( type ( // Name must be in specific format like cart.amount, request.my_request.x etc + // + // Deprecated: Use metrics package instead Name string // Type is an Enum type for metric types + // + // Deprecated: Use metrics package instead Type byte // Tag categories metric value with Name for Value to display category like PaymentID. + // + // Deprecated: Use metrics package instead Tag struct { Name string Value string } // BaseMetricCollector ... + // + // Deprecated: Use metrics package instead BaseMetricCollector struct { + // Deprecated: Use metrics package instead DatadogMetrics DatadogMetricsClient } // Data for metrics + // + // Deprecated: Use metrics package instead Data struct { - Name Name - Type Type + // Deprecated: Use metrics package instead + Name Name + // Deprecated: Use metrics package instead + Type Type + // Deprecated: Use metrics package instead Value float64 // MetricTags level empty if no categories required to relate metric + // + // Deprecated: Use metrics package instead MetricTags []Tag } ) const ( // MetricTypeCountEvents Datadog will aggregate events to show how many events happened in second + // + // Deprecated: Use metrics package instead MetricTypeCountEvents Type = iota // MetricTypeEvent send single event to Datadog + // + // Deprecated: Use metrics package instead MetricTypeEvent // MetricTypeMeasurement aggregates value of metrics in Datadog for measuring it, like memory or cart value + // + // Deprecated: Use metrics package instead MetricTypeMeasurement ) // NewBaseMetricCollector instance +// +// Deprecated: Use coopdatadog.Start() instead. func NewBaseMetricCollector(dm *DatadogMetrics) *BaseMetricCollector { return &BaseMetricCollector{DatadogMetrics: dm} } @@ -86,6 +110,8 @@ func (m BaseMetricCollector) AddMetric(ctx context.Context, d Data) { // GracefulShutdown flushes and closes Datadog client // ensuring that all metrics are sent before the program exits +// +// Deprecated: Use the StopFunc returned coopdatadog.Start() instead. func (m BaseMetricCollector) GracefulShutdown() { if m.DatadogMetrics == nil || m.DatadogMetrics.GetClient() == nil { return