Skip to content

Commit

Permalink
making changes updating port for metric and traces (paypal#84)
Browse files Browse the repository at this point in the history
Co-authored-by: Rajesh S <[email protected]>
  • Loading branch information
2 people authored and GitHub Enterprise committed Jul 11, 2024
1 parent ec7d852 commit 688ca39
Show file tree
Hide file tree
Showing 4 changed files with 32 additions and 28 deletions.
7 changes: 4 additions & 3 deletions lib/config.go
Original file line number Diff line number Diff line change
Expand Up @@ -478,9 +478,10 @@ func initializeOTELConfigs(cdb config.Config, poolName string) {
otelconfig.OTelConfigData.SkipCalStateLog = cdb.GetOrDefaultBool("skip_cal_statelog", false)
otelconfig.OTelConfigData.MetricNamePrefix = cdb.GetOrDefaultString("otel_metric_prefix", "pp.occ")
otelconfig.OTelConfigData.Host = cdb.GetOrDefaultString("otel_agent_host", "localhost")
otelconfig.OTelConfigData.HttpPort = cdb.GetOrDefaultInt("otel_agent_http_port", 4318)
otelconfig.OTelConfigData.GRPCPort = cdb.GetOrDefaultInt("otel_agent_grpc_port", 4317)
otelconfig.OTelConfigData.UseOtelGRPC = cdb.GetOrDefaultBool("otel_agent_use_grpc", false)
otelconfig.OTelConfigData.MetricsPort = cdb.GetOrDefaultInt("otel_agent_metrics_port", 4318)
otelconfig.OTelConfigData.TracePort = cdb.GetOrDefaultInt("otel_agent_trace_port", 4318)
otelconfig.OTelConfigData.OtelMetricGRPC = cdb.GetOrDefaultBool("otel_agent_use_grpc_metric", false)
otelconfig.OTelConfigData.OtelTraceGRPC = cdb.GetOrDefaultBool("otel_agent_use_grpc_trace", false)
otelconfig.OTelConfigData.MetricsURLPath = cdb.GetOrDefaultString("otel_agent_metrics_uri", "")
otelconfig.OTelConfigData.TraceURLPath = cdb.GetOrDefaultString("otel_agent_trace_uri", "")
otelconfig.OTelConfigData.PoolName = poolName
Expand Down
14 changes: 8 additions & 6 deletions utility/logger/otel/config/otelconfig.go
Original file line number Diff line number Diff line change
Expand Up @@ -14,8 +14,8 @@ var OTelIngestTokenData atomic.Value
type OTelConfig struct {
MetricNamePrefix string
Host string
HttpPort int
GRPCPort int
MetricsPort int
TracePort int
MetricsURLPath string
TraceURLPath string
PoolName string
Expand All @@ -26,7 +26,8 @@ type OTelConfig struct {
ExporterTimeout int
UseTls bool
TLSCertPath string
UseOtelGRPC bool
OtelMetricGRPC bool
OtelTraceGRPC bool
OTelErrorReportingInterval int
EnableRetry bool
}
Expand All @@ -42,13 +43,14 @@ func (config *OTelConfig) validate() error {

func (config *OTelConfig) Dump() {
logger.GetLogger().Log(logger.Info, fmt.Sprintf("Host : %s", config.Host))
logger.GetLogger().Log(logger.Info, fmt.Sprintf("Http Port: %d", config.HttpPort))
logger.GetLogger().Log(logger.Info, fmt.Sprintf("GRPC Port: %d", config.GRPCPort))
logger.GetLogger().Log(logger.Info, fmt.Sprintf("UseOtlMetricGRPC: %t", config.OtelMetricGRPC))
logger.GetLogger().Log(logger.Info, fmt.Sprintf("Metrics Port: %d", config.MetricsPort))
logger.GetLogger().Log(logger.Info, fmt.Sprintf("UseOtlMetricGRPC: %t", config.OtelTraceGRPC))
logger.GetLogger().Log(logger.Info, fmt.Sprintf("Trace Port Port: %d", config.TracePort))
logger.GetLogger().Log(logger.Info, fmt.Sprintf("Poolname: %s", config.PoolName))
logger.GetLogger().Log(logger.Info, fmt.Sprintf("ResolutionTimeInSec: %d", config.ResolutionTimeInSec))
logger.GetLogger().Log(logger.Info, fmt.Sprintf("UseTls: %t", config.UseTls))
logger.GetLogger().Log(logger.Info, fmt.Sprintf("UrlPath: %s", config.MetricsURLPath))
logger.GetLogger().Log(logger.Info, fmt.Sprintf("UseOtelGRPC: %t", config.UseOtelGRPC))
}

func (config *OTelConfig) PopulateMetricNamePrefix(metricName string) string {
Expand Down
27 changes: 12 additions & 15 deletions utility/logger/otel/logger.go
Original file line number Diff line number Diff line change
Expand Up @@ -127,15 +127,15 @@ func newMeterProvider(ctx context.Context) (*metric.MeterProvider, error) {

// getMetricExporter Initialize metric exporter based protocol selected by user.
func getMetricExporter(ctx context.Context) (metric.Exporter, error) {
if config.OTelConfigData.UseOtelGRPC {
if config.OTelConfigData.OtelMetricGRPC {
return newGRPCExporter(ctx)
}
return newHTTPExporter(ctx)
}

// getTraceExporter Initialize span exporter based protocol(GRPC or HTTP) selected by user.
func getTraceExporter(ctx context.Context) (*otlptrace.Exporter, error) {
if config.OTelConfigData.UseOtelGRPC {
if config.OTelConfigData.OtelTraceGRPC {
return newGRPCTraceExporter(ctx)
}
return newHTTPTraceExporter(ctx)
Expand All @@ -153,7 +153,7 @@ func newHTTPExporter(ctx context.Context) (metric.Exporter, error) {
var temporalitySelector = func(instrument metric.InstrumentKind) metricdata.Temporality { return metricdata.DeltaTemporality }

return otlpmetrichttp.New(ctx,
otlpmetrichttp.WithEndpoint(fmt.Sprintf("%s:%d", config.OTelConfigData.Host, config.OTelConfigData.HttpPort)),
otlpmetrichttp.WithEndpoint(fmt.Sprintf("%s:%d", config.OTelConfigData.Host, config.OTelConfigData.MetricsPort)),
otlpmetrichttp.WithTimeout(time.Duration(config.OTelConfigData.ExporterTimeout)*time.Second),
otlpmetrichttp.WithCompression(otlpmetrichttp.NoCompression),
otlpmetrichttp.WithTemporalitySelector(temporalitySelector),
Expand Down Expand Up @@ -192,7 +192,7 @@ func newGRPCExporter(ctx context.Context) (metric.Exporter, error) {
var temporalitySelector = func(instrument metric.InstrumentKind) metricdata.Temporality { return metricdata.DeltaTemporality }

return otlpmetricgrpc.New(ctx,
otlpmetricgrpc.WithEndpoint(fmt.Sprintf("%s:%d", config.OTelConfigData.Host, config.OTelConfigData.GRPCPort)),
otlpmetricgrpc.WithEndpoint(fmt.Sprintf("%s:%d", config.OTelConfigData.Host, config.OTelConfigData.MetricsPort)),
otlpmetricgrpc.WithTimeout(time.Duration(config.OTelConfigData.ExporterTimeout)*time.Second),
otlpmetricgrpc.WithHeaders(headers),
otlpmetricgrpc.WithReconnectionPeriod(time.Duration(5)*time.Second),
Expand Down Expand Up @@ -224,7 +224,7 @@ func newHTTPTraceExporter(ctx context.Context) (*otlptrace.Exporter, error) {
headers[IngestTokenHeader] = config.GetOTelIngestToken()

return otlptracehttp.New(ctx,
otlptracehttp.WithEndpoint(fmt.Sprintf("%s:%d", config.OTelConfigData.Host, config.OTelConfigData.HttpPort)),
otlptracehttp.WithEndpoint(fmt.Sprintf("%s:%d", config.OTelConfigData.Host, config.OTelConfigData.TracePort)),
otlptracehttp.WithTimeout(time.Duration(config.OTelConfigData.ExporterTimeout)*time.Second),
otlptracehttp.WithHeaders(headers),
otlptracehttp.WithRetry(otlptracehttp.RetryConfig{
Expand Down Expand Up @@ -256,7 +256,7 @@ func newGRPCTraceExporter(ctx context.Context) (*otlptrace.Exporter, error) {
headers[IngestTokenHeader] = config.GetOTelIngestToken()

return otlptracegrpc.New(ctx,
otlptracegrpc.WithEndpoint(fmt.Sprintf("%s:%d", config.OTelConfigData.Host, config.OTelConfigData.GRPCPort)),
otlptracegrpc.WithEndpoint(fmt.Sprintf("%s:%d", config.OTelConfigData.Host, config.OTelConfigData.TracePort)),
otlptracegrpc.WithTimeout(time.Duration(config.OTelConfigData.ExporterTimeout)*time.Second),
otlptracegrpc.WithHeaders(headers),
otlptracegrpc.WithRetry(otlptracegrpc.RetryConfig{
Expand Down Expand Up @@ -290,17 +290,14 @@ func getResourceInfo(appName string) *resource.Resource {
attribute.String("source", "otel"),
}

environment, isPresent := os.LookupEnv("ENVIRONMENT")
if !isPresent {
environment = "dev"
environment, isEnvPresent := os.LookupEnv("ENVIRONMENT")
az, isAzPresent := os.LookupEnv("AVAILABILITY_ZONE")
if isEnvPresent {
attributes = append(attributes, attribute.String("environment", environment))
}
az, isPresent := os.LookupEnv("AVAILABILITY_ZONE")
if !isPresent {
az = "dev"
if isAzPresent {
attributes = append(attributes, attribute.String("az", az))
}
attributes = append(attributes, attribute.String("az", az))
attributes = append(attributes, attribute.String("environment", environment))

resource := resource.NewWithAttributes(fmt.Sprintf("%s resource", config.OTelConfigData.ResourceType),
attributes...,
)
Expand Down
12 changes: 8 additions & 4 deletions utility/logger/otel/test/state_logger_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -22,9 +22,11 @@ import (
func initializeConsoleExporter() (*metric.MeterProvider, error) {
otelconfig.OTelConfigData = &otelconfig.OTelConfig{
Host: "localhost",
HttpPort: 4318,
MetricsPort: 4318,
TracePort: 4318,
Enabled: true,
UseOtelGRPC: false,
OtelMetricGRPC: false,
OtelTraceGRPC: false,
ResolutionTimeInSec: 3,
OTelErrorReportingInterval: 10,
PoolName: "occ-testapp",
Expand Down Expand Up @@ -58,9 +60,11 @@ func initializeConsoleExporter() (*metric.MeterProvider, error) {
func initializeCustomOTelExporter(t *testing.T) func(ctx context.Context) error {
otelconfig.OTelConfigData = &otelconfig.OTelConfig{
Host: "localhost",
HttpPort: 4318,
MetricsPort: 4318,
TracePort: 4318,
Enabled: true,
UseOtelGRPC: false,
OtelMetricGRPC: false,
OtelTraceGRPC: false,
ResolutionTimeInSec: 3,
OTelErrorReportingInterval: 10,
PoolName: "occ-testapp",
Expand Down

0 comments on commit 688ca39

Please sign in to comment.