@@ -39,23 +39,24 @@ var (
3939)
4040
4141type exporterConfig struct {
42- Debug bool `koanf:"debug"`
43- LogFormat string `koanf:"log-format"`
44- TLSCertPath string `koanf:"tls-cert-path"`
45- TLSKeyPath string `koanf:"tls-key-path"`
46- MetricPath string `koanf:"metrics-path"`
47- ListenAddress string `koanf:"listen-address"`
48- AWSAssumeRoleSession string `koanf:"aws-assume-role-session"`
49- AWSAssumeRoleArn string `koanf:"aws-assume-role-arn"`
50- CollectInstanceMetrics bool `koanf:"collect-instance-metrics"`
51- CollectInstanceTags bool `koanf:"collect-instance-tags"`
52- CollectInstanceTypes bool `koanf:"collect-instance-types"`
53- CollectLogsSize bool `koanf:"collect-logs-size"`
54- CollectMaintenances bool `koanf:"collect-maintenances"`
55- CollectQuotas bool `koanf:"collect-quotas"`
56- CollectUsages bool `koanf:"collect-usages"`
57- OTELTracesEnabled bool `koanf:"enable-otel-traces"`
58- TagSelections map [string ][]string `koanf:"tag-selections"`
42+ Debug bool `koanf:"debug"`
43+ LogFormat string `koanf:"log-format"`
44+ TLSCertPath string `koanf:"tls-cert-path"`
45+ TLSKeyPath string `koanf:"tls-key-path"`
46+ MetricPath string `koanf:"metrics-path"`
47+ ListenAddress string `koanf:"listen-address"`
48+ AWSAssumeRoleSession string `koanf:"aws-assume-role-session"`
49+ AWSAssumeRoleArn string `koanf:"aws-assume-role-arn"`
50+ CollectInstanceMetrics bool `koanf:"collect-instance-metrics"`
51+ CollectInstanceMetricsDelay int `koanf:"collect-instance-metrics-delay"`
52+ CollectInstanceTags bool `koanf:"collect-instance-tags"`
53+ CollectInstanceTypes bool `koanf:"collect-instance-types"`
54+ CollectLogsSize bool `koanf:"collect-logs-size"`
55+ CollectMaintenances bool `koanf:"collect-maintenances"`
56+ CollectQuotas bool `koanf:"collect-quotas"`
57+ CollectUsages bool `koanf:"collect-usages"`
58+ OTELTracesEnabled bool `koanf:"enable-otel-traces"`
59+ TagSelections map [string ][]string `koanf:"tag-selections"`
5960}
6061
6162func run (configuration exporterConfig ) {
@@ -92,14 +93,15 @@ func run(configuration exporterConfig) {
9293 servicequotasClient := servicequotas .NewFromConfig (cfg )
9394
9495 collectorConfiguration := exporter.Configuration {
95- CollectInstanceMetrics : configuration .CollectInstanceMetrics ,
96- CollectInstanceTypes : configuration .CollectInstanceTypes ,
97- CollectInstanceTags : configuration .CollectInstanceTags ,
98- CollectLogsSize : configuration .CollectLogsSize ,
99- CollectMaintenances : configuration .CollectMaintenances ,
100- CollectQuotas : configuration .CollectQuotas ,
101- CollectUsages : configuration .CollectUsages ,
102- TagSelections : configuration .TagSelections ,
96+ CollectInstanceMetrics : configuration .CollectInstanceMetrics ,
97+ CollectInstanceMetricsDelay : configuration .CollectInstanceMetricsDelay ,
98+ CollectInstanceTypes : configuration .CollectInstanceTypes ,
99+ CollectInstanceTags : configuration .CollectInstanceTags ,
100+ CollectLogsSize : configuration .CollectLogsSize ,
101+ CollectMaintenances : configuration .CollectMaintenances ,
102+ CollectQuotas : configuration .CollectQuotas ,
103+ CollectUsages : configuration .CollectUsages ,
104+ TagSelections : configuration .TagSelections ,
103105 }
104106
105107 collector := exporter .NewCollector (* logger , collectorConfiguration , awsAccountID , awsRegion , rdsClient , ec2Client , cloudWatchClient , servicequotasClient , tagClient )
@@ -163,6 +165,7 @@ func NewRootCommand() (*cobra.Command, error) {
163165 cmd .Flags ().BoolP ("collect-instance-tags" , "" , true , "Collect AWS RDS tags" )
164166 cmd .Flags ().BoolP ("collect-instance-types" , "" , true , "Collect AWS instance types" )
165167 cmd .Flags ().BoolP ("collect-instance-metrics" , "" , true , "Collect AWS instance metrics" )
168+ cmd .Flags ().IntP ("collect-instance-metrics-delay" , "" , 0 , "Delay in seconds before collecting instance metrics" )
166169 cmd .Flags ().BoolP ("collect-logs-size" , "" , true , "Collect AWS instances logs size" )
167170 cmd .Flags ().BoolP ("collect-maintenances" , "" , true , "Collect AWS instances maintenances" )
168171 cmd .Flags ().BoolP ("collect-quotas" , "" , true , "Collect AWS RDS quotas" )
0 commit comments