@@ -119,12 +119,12 @@ type Mapping map[string]MappingOptions
119
119
120
120
// nolint: golint
121
121
type UserQuery struct {
122
- Query string `yaml:"query"`
123
- Metrics []Mapping `yaml:"metrics"`
124
- BreakingChanges []BreakingChanges `yaml:"breakingChanges "`
125
- Master bool `yaml:"master"` // Querying only for master database
126
- CacheSeconds uint64 `yaml:"cache_seconds"` // Number of seconds to cache the namespace result metrics for.
127
- RunOnServer string `yaml:"runonserver"` // Querying to run on which server version
122
+ Query string `yaml:"query"`
123
+ Metrics []Mapping `yaml:"metrics"`
124
+ VersionQueries []VersionQueries `yaml:"versionQueries "`
125
+ Master bool `yaml:"master"` // Querying only for master database
126
+ CacheSeconds uint64 `yaml:"cache_seconds"` // Number of seconds to cache the namespace result metrics for.
127
+ RunOnServer string `yaml:"runonserver"` // Querying to run on which server version
128
128
}
129
129
130
130
// nolint: golint
@@ -533,30 +533,18 @@ func parseUserQueries(content []byte, pgVersion semver.Version) (map[string]inte
533
533
for metric , specs := range userQueries {
534
534
level .Debug (logger ).Log ("msg" , "New user metric namespace from YAML metric" , "metric" , metric , "cache_seconds" , specs .CacheSeconds )
535
535
newQueryOverrides [metric ] = specs .Query
536
- columnT := make (map [string ]string )
537
- for i := range specs .BreakingChanges {
538
- if err := specs .BreakingChanges [i ].parseVerTolerant (); err != nil {
536
+ if len (specs .VersionQueries ) == 0 {
537
+ continue
538
+ }
539
+ for i := range specs .VersionQueries {
540
+ if err := specs .VersionQueries [i ].parseVerTolerant (); err != nil {
539
541
return nil , nil , err
540
542
}
541
-
542
- if pgVersion .GE (specs .BreakingChanges [i ].ver ) {
543
- for t := range specs .BreakingChanges [i ].Columns {
544
- columnT [t ] = specs .BreakingChanges [i ].Columns [t ]
545
- }
543
+ if pgVersion .GE (specs .VersionQueries [i ].ver ) {
544
+ newQueryOverrides [metric ] = specs .VersionQueries [i ].Query
546
545
}
547
546
}
548
547
549
- // nolint: golint
550
- // 2 because old - new
551
- oldnew := make ([]string , 0 , 2 * len (columnT ))
552
- for t := range columnT {
553
- oldnew = append (oldnew , t , columnT [t ])
554
- }
555
-
556
- r := strings .NewReplacer (oldnew ... )
557
-
558
- newQueryOverrides [metric ] = r .Replace (newQueryOverrides [metric ])
559
-
560
548
metricMap , ok := metricMaps [metric ]
561
549
if ! ok {
562
550
// Namespace for metric not found - add it.
0 commit comments