translator/translate/otel/processor/deltatocumulativeprocessor/translator.go (30 lines of code) (raw):
// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
// SPDX-License-Identifier: MIT
package deltatocumulativeprocessor
import (
"time"
"github.com/open-telemetry/opentelemetry-collector-contrib/processor/deltatocumulativeprocessor"
"go.opentelemetry.io/collector/component"
"go.opentelemetry.io/collector/confmap"
"go.opentelemetry.io/collector/processor"
"github.com/aws/amazon-cloudwatch-agent/translator/translate/otel/common"
)
type translator struct {
factory processor.Factory
common.NameProvider
}
var _ common.ComponentTranslator = (*translator)(nil)
var _ common.NameSetter = (*translator)(nil)
func NewTranslator(opts ...common.TranslatorOption) common.ComponentTranslator {
t := &translator{factory: deltatocumulativeprocessor.NewFactory()}
for _, opt := range opts {
opt(t)
}
return t
}
func (t *translator) ID() component.ID {
return component.NewIDWithName(t.factory.Type(), t.Name())
}
// Translate creates a processor config
func (t *translator) Translate(_ *confmap.Conf) (component.Config, error) {
cfg := t.factory.CreateDefaultConfig().(*deltatocumulativeprocessor.Config)
cfg.MaxStale = 14 * 24 * time.Hour // two weeks
return cfg, nil
}