/
generated_config.go
130 lines (116 loc) · 4.11 KB
/
generated_config.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
// Code generated by mdatagen. DO NOT EDIT.
package metadata
import "go.opentelemetry.io/collector/confmap"
// MetricConfig provides common config for a particular metric.
type MetricConfig struct {
Enabled bool `mapstructure:"enabled"`
enabledSetByUser bool
}
func (ms *MetricConfig) Unmarshal(parser *confmap.Conf) error {
if parser == nil {
return nil
}
err := parser.Unmarshal(ms)
if err != nil {
return err
}
ms.enabledSetByUser = parser.IsSet("enabled")
return nil
}
// MetricsConfig provides config for gitprovider metrics.
type MetricsConfig struct {
GitRepositoryBranchCommitAheadbyCount MetricConfig `mapstructure:"git.repository.branch.commit.aheadby.count"`
GitRepositoryBranchCommitBehindbyCount MetricConfig `mapstructure:"git.repository.branch.commit.behindby.count"`
GitRepositoryBranchCount MetricConfig `mapstructure:"git.repository.branch.count"`
GitRepositoryBranchLineAdditionCount MetricConfig `mapstructure:"git.repository.branch.line.addition.count"`
GitRepositoryBranchLineDeletionCount MetricConfig `mapstructure:"git.repository.branch.line.deletion.count"`
GitRepositoryBranchTime MetricConfig `mapstructure:"git.repository.branch.time"`
GitRepositoryContributorCount MetricConfig `mapstructure:"git.repository.contributor.count"`
GitRepositoryCount MetricConfig `mapstructure:"git.repository.count"`
GitRepositoryPullRequestCount MetricConfig `mapstructure:"git.repository.pull_request.count"`
GitRepositoryPullRequestTimeOpen MetricConfig `mapstructure:"git.repository.pull_request.time_open"`
GitRepositoryPullRequestTimeToApproval MetricConfig `mapstructure:"git.repository.pull_request.time_to_approval"`
GitRepositoryPullRequestTimeToMerge MetricConfig `mapstructure:"git.repository.pull_request.time_to_merge"`
}
func DefaultMetricsConfig() MetricsConfig {
return MetricsConfig{
GitRepositoryBranchCommitAheadbyCount: MetricConfig{
Enabled: true,
},
GitRepositoryBranchCommitBehindbyCount: MetricConfig{
Enabled: true,
},
GitRepositoryBranchCount: MetricConfig{
Enabled: true,
},
GitRepositoryBranchLineAdditionCount: MetricConfig{
Enabled: true,
},
GitRepositoryBranchLineDeletionCount: MetricConfig{
Enabled: true,
},
GitRepositoryBranchTime: MetricConfig{
Enabled: true,
},
GitRepositoryContributorCount: MetricConfig{
Enabled: false,
},
GitRepositoryCount: MetricConfig{
Enabled: true,
},
GitRepositoryPullRequestCount: MetricConfig{
Enabled: true,
},
GitRepositoryPullRequestTimeOpen: MetricConfig{
Enabled: true,
},
GitRepositoryPullRequestTimeToApproval: MetricConfig{
Enabled: true,
},
GitRepositoryPullRequestTimeToMerge: MetricConfig{
Enabled: true,
},
}
}
// ResourceAttributeConfig provides common config for a particular resource attribute.
type ResourceAttributeConfig struct {
Enabled bool `mapstructure:"enabled"`
enabledSetByUser bool
}
func (rac *ResourceAttributeConfig) Unmarshal(parser *confmap.Conf) error {
if parser == nil {
return nil
}
err := parser.Unmarshal(rac)
if err != nil {
return err
}
rac.enabledSetByUser = parser.IsSet("enabled")
return nil
}
// ResourceAttributesConfig provides config for gitprovider resource attributes.
type ResourceAttributesConfig struct {
GitVendorName ResourceAttributeConfig `mapstructure:"git.vendor.name"`
OrganizationName ResourceAttributeConfig `mapstructure:"organization.name"`
}
func DefaultResourceAttributesConfig() ResourceAttributesConfig {
return ResourceAttributesConfig{
GitVendorName: ResourceAttributeConfig{
Enabled: true,
},
OrganizationName: ResourceAttributeConfig{
Enabled: true,
},
}
}
// MetricsBuilderConfig is a configuration for gitprovider metrics builder.
type MetricsBuilderConfig struct {
Metrics MetricsConfig `mapstructure:"metrics"`
ResourceAttributes ResourceAttributesConfig `mapstructure:"resource_attributes"`
}
func DefaultMetricsBuilderConfig() MetricsBuilderConfig {
return MetricsBuilderConfig{
Metrics: DefaultMetricsConfig(),
ResourceAttributes: DefaultResourceAttributesConfig(),
}
}