Skip to content

Commit 506840f

Browse files
authored
feat: serve recording rules from config in tenant-settings (#4299)
* feat: serve recording rules from config in tenant-settings * cont * lint and tests * get rid of error case * overrides
1 parent 710c973 commit 506840f

File tree

10 files changed

+545
-134
lines changed

10 files changed

+545
-134
lines changed

api/gen/proto/go/settings/v1/recording_rules.pb.go

Lines changed: 104 additions & 93 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

api/gen/proto/go/settings/v1/recording_rules_vtproto.pb.go

Lines changed: 37 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

api/openapiv2/gen/phlare.swagger.json

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2060,6 +2060,10 @@
20602060
"stacktraceFilter": {
20612061
"$ref": "#/definitions/v1StacktraceFilter",
20622062
"description": "The stacktrace filter allows filtering on particular function names in the stacktrace.\nThis allows recording rules to focus on specific functions and calculate their \"total\"\nresource usage."
2063+
},
2064+
"provisioned": {
2065+
"type": "boolean",
2066+
"title": "Provisioned rules are added by config and can't be Upsert or Deleted"
20632067
}
20642068
}
20652069
},

api/settings/v1/recording_rules.proto

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -86,6 +86,9 @@ message RecordingRule {
8686
// This allows recording rules to focus on specific functions and calculate their "total"
8787
// resource usage.
8888
optional StacktraceFilter stacktrace_filter = 8;
89+
90+
// Provisioned rules are added by config and can't be Upsert or Deleted
91+
bool provisioned = 9;
8992
}
9093

9194
message StacktraceFilter {

pkg/pyroscope/modules.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -142,7 +142,7 @@ func (f *Pyroscope) initRuntimeConfig() (services.Service, error) {
142142
}
143143

144144
func (f *Pyroscope) initTenantSettings() (services.Service, error) {
145-
settings, err := settings.New(f.Cfg.TenantSettings, f.storageBucket, log.With(f.logger, "component", TenantSettings))
145+
settings, err := settings.New(f.Cfg.TenantSettings, f.storageBucket, log.With(f.logger, "component", TenantSettings), f.Overrides)
146146
if err != nil {
147147
return nil, errors.Wrap(err, "failed to init settings service")
148148
}

pkg/pyroscope/pyroscope.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -487,7 +487,7 @@ func (f *Pyroscope) setupModuleManager() error {
487487
MemberlistKV: {API},
488488
Admin: {API, Storage},
489489
Version: {API, MemberlistKV},
490-
TenantSettings: {API, Storage},
490+
TenantSettings: {API, Overrides, Storage},
491491
AdHocProfiles: {API, Overrides, Storage},
492492
EmbeddedGrafana: {API},
493493
FeatureFlags: {API},

0 commit comments

Comments
 (0)