Skip to content

Commit 04923f5

Browse files
authored
chore: add experimental modules (grafana#3480)
1 parent b16b27a commit 04923f5

File tree

16 files changed

+468
-56
lines changed

16 files changed

+468
-56
lines changed

operations/pyroscope/helm/pyroscope/rendered/micro-services-hpa.yaml

+49
Original file line numberDiff line numberDiff line change
@@ -2134,6 +2134,13 @@ spec:
21342134
- "-runtime-config.file=/etc/pyroscope/overrides/overrides.yaml"
21352135
- "-log.level=debug"
21362136
- "-store-gateway.sharding-ring.replication-factor=3"
2137+
env:
2138+
- name: POD_NAME
2139+
valueFrom:
2140+
fieldRef:
2141+
fieldPath: metadata.name
2142+
- name: NAMESPACE_FQDN
2143+
value: "default.svc.cluster.local."
21372144
ports:
21382145
- name: http2
21392146
containerPort: 4040
@@ -2227,6 +2234,13 @@ spec:
22272234
- "-runtime-config.file=/etc/pyroscope/overrides/overrides.yaml"
22282235
- "-log.level=debug"
22292236
- "-store-gateway.sharding-ring.replication-factor=3"
2237+
env:
2238+
- name: POD_NAME
2239+
valueFrom:
2240+
fieldRef:
2241+
fieldPath: metadata.name
2242+
- name: NAMESPACE_FQDN
2243+
value: "default.svc.cluster.local."
22302244
ports:
22312245
- name: http2
22322246
containerPort: 4040
@@ -2320,6 +2334,13 @@ spec:
23202334
- "-runtime-config.file=/etc/pyroscope/overrides/overrides.yaml"
23212335
- "-log.level=debug"
23222336
- "-store-gateway.sharding-ring.replication-factor=3"
2337+
env:
2338+
- name: POD_NAME
2339+
valueFrom:
2340+
fieldRef:
2341+
fieldPath: metadata.name
2342+
- name: NAMESPACE_FQDN
2343+
value: "default.svc.cluster.local."
23232344
ports:
23242345
- name: http2
23252346
containerPort: 4040
@@ -2413,6 +2434,13 @@ spec:
24132434
- "-runtime-config.file=/etc/pyroscope/overrides/overrides.yaml"
24142435
- "-log.level=debug"
24152436
- "-store-gateway.sharding-ring.replication-factor=3"
2437+
env:
2438+
- name: POD_NAME
2439+
valueFrom:
2440+
fieldRef:
2441+
fieldPath: metadata.name
2442+
- name: NAMESPACE_FQDN
2443+
value: "default.svc.cluster.local."
24162444
ports:
24172445
- name: http2
24182446
containerPort: 4040
@@ -2807,6 +2835,13 @@ spec:
28072835
- "-runtime-config.file=/etc/pyroscope/overrides/overrides.yaml"
28082836
- "-log.level=debug"
28092837
- "-store-gateway.sharding-ring.replication-factor=3"
2838+
env:
2839+
- name: POD_NAME
2840+
valueFrom:
2841+
fieldRef:
2842+
fieldPath: metadata.name
2843+
- name: NAMESPACE_FQDN
2844+
value: "default.svc.cluster.local."
28102845
ports:
28112846
- name: http2
28122847
containerPort: 4040
@@ -2908,6 +2943,13 @@ spec:
29082943
- "-runtime-config.file=/etc/pyroscope/overrides/overrides.yaml"
29092944
- "-log.level=debug"
29102945
- "-store-gateway.sharding-ring.replication-factor=3"
2946+
env:
2947+
- name: POD_NAME
2948+
valueFrom:
2949+
fieldRef:
2950+
fieldPath: metadata.name
2951+
- name: NAMESPACE_FQDN
2952+
value: "default.svc.cluster.local."
29112953
ports:
29122954
- name: http2
29132955
containerPort: 4040
@@ -3005,6 +3047,13 @@ spec:
30053047
- "-runtime-config.file=/etc/pyroscope/overrides/overrides.yaml"
30063048
- "-log.level=debug"
30073049
- "-store-gateway.sharding-ring.replication-factor=3"
3050+
env:
3051+
- name: POD_NAME
3052+
valueFrom:
3053+
fieldRef:
3054+
fieldPath: metadata.name
3055+
- name: NAMESPACE_FQDN
3056+
value: "default.svc.cluster.local."
30083057
ports:
30093058
- name: http2
30103059
containerPort: 4040

operations/pyroscope/helm/pyroscope/rendered/micro-services.yaml

+63
Original file line numberDiff line numberDiff line change
@@ -2279,6 +2279,13 @@ spec:
22792279
- "-runtime-config.file=/etc/pyroscope/overrides/overrides.yaml"
22802280
- "-log.level=debug"
22812281
- "-store-gateway.sharding-ring.replication-factor=3"
2282+
env:
2283+
- name: POD_NAME
2284+
valueFrom:
2285+
fieldRef:
2286+
fieldPath: metadata.name
2287+
- name: NAMESPACE_FQDN
2288+
value: "default.svc.cluster.local."
22822289
ports:
22832290
- name: http2
22842291
containerPort: 4040
@@ -2373,6 +2380,13 @@ spec:
23732380
- "-runtime-config.file=/etc/pyroscope/overrides/overrides.yaml"
23742381
- "-log.level=debug"
23752382
- "-store-gateway.sharding-ring.replication-factor=3"
2383+
env:
2384+
- name: POD_NAME
2385+
valueFrom:
2386+
fieldRef:
2387+
fieldPath: metadata.name
2388+
- name: NAMESPACE_FQDN
2389+
value: "default.svc.cluster.local."
23762390
ports:
23772391
- name: http2
23782392
containerPort: 4040
@@ -2467,6 +2481,13 @@ spec:
24672481
- "-runtime-config.file=/etc/pyroscope/overrides/overrides.yaml"
24682482
- "-log.level=debug"
24692483
- "-store-gateway.sharding-ring.replication-factor=3"
2484+
env:
2485+
- name: POD_NAME
2486+
valueFrom:
2487+
fieldRef:
2488+
fieldPath: metadata.name
2489+
- name: NAMESPACE_FQDN
2490+
value: "default.svc.cluster.local."
24702491
ports:
24712492
- name: http2
24722493
containerPort: 4040
@@ -2561,6 +2582,13 @@ spec:
25612582
- "-runtime-config.file=/etc/pyroscope/overrides/overrides.yaml"
25622583
- "-log.level=debug"
25632584
- "-store-gateway.sharding-ring.replication-factor=3"
2585+
env:
2586+
- name: POD_NAME
2587+
valueFrom:
2588+
fieldRef:
2589+
fieldPath: metadata.name
2590+
- name: NAMESPACE_FQDN
2591+
value: "default.svc.cluster.local."
25642592
ports:
25652593
- name: http2
25662594
containerPort: 4040
@@ -2655,6 +2683,13 @@ spec:
26552683
- "-runtime-config.file=/etc/pyroscope/overrides/overrides.yaml"
26562684
- "-log.level=debug"
26572685
- "-store-gateway.sharding-ring.replication-factor=3"
2686+
env:
2687+
- name: POD_NAME
2688+
valueFrom:
2689+
fieldRef:
2690+
fieldPath: metadata.name
2691+
- name: NAMESPACE_FQDN
2692+
value: "default.svc.cluster.local."
26582693
ports:
26592694
- name: http2
26602695
containerPort: 4040
@@ -2749,6 +2784,13 @@ spec:
27492784
- "-runtime-config.file=/etc/pyroscope/overrides/overrides.yaml"
27502785
- "-log.level=debug"
27512786
- "-store-gateway.sharding-ring.replication-factor=3"
2787+
env:
2788+
- name: POD_NAME
2789+
valueFrom:
2790+
fieldRef:
2791+
fieldPath: metadata.name
2792+
- name: NAMESPACE_FQDN
2793+
value: "default.svc.cluster.local."
27522794
ports:
27532795
- name: http2
27542796
containerPort: 4040
@@ -3028,6 +3070,13 @@ spec:
30283070
- "-runtime-config.file=/etc/pyroscope/overrides/overrides.yaml"
30293071
- "-log.level=debug"
30303072
- "-store-gateway.sharding-ring.replication-factor=3"
3073+
env:
3074+
- name: POD_NAME
3075+
valueFrom:
3076+
fieldRef:
3077+
fieldPath: metadata.name
3078+
- name: NAMESPACE_FQDN
3079+
value: "default.svc.cluster.local."
30313080
ports:
30323081
- name: http2
30333082
containerPort: 4040
@@ -3129,6 +3178,13 @@ spec:
31293178
- "-runtime-config.file=/etc/pyroscope/overrides/overrides.yaml"
31303179
- "-log.level=debug"
31313180
- "-store-gateway.sharding-ring.replication-factor=3"
3181+
env:
3182+
- name: POD_NAME
3183+
valueFrom:
3184+
fieldRef:
3185+
fieldPath: metadata.name
3186+
- name: NAMESPACE_FQDN
3187+
value: "default.svc.cluster.local."
31323188
ports:
31333189
- name: http2
31343190
containerPort: 4040
@@ -3226,6 +3282,13 @@ spec:
32263282
- "-runtime-config.file=/etc/pyroscope/overrides/overrides.yaml"
32273283
- "-log.level=debug"
32283284
- "-store-gateway.sharding-ring.replication-factor=3"
3285+
env:
3286+
- name: POD_NAME
3287+
valueFrom:
3288+
fieldRef:
3289+
fieldPath: metadata.name
3290+
- name: NAMESPACE_FQDN
3291+
value: "default.svc.cluster.local."
32293292
ports:
32303293
- name: http2
32313294
containerPort: 4040

operations/pyroscope/helm/pyroscope/rendered/single-binary.yaml

+7
Original file line numberDiff line numberDiff line change
@@ -1376,6 +1376,13 @@ spec:
13761376
- "-config.file=/etc/pyroscope/config.yaml"
13771377
- "-runtime-config.file=/etc/pyroscope/overrides/overrides.yaml"
13781378
- "-log.level=debug"
1379+
env:
1380+
- name: POD_NAME
1381+
valueFrom:
1382+
fieldRef:
1383+
fieldPath: metadata.name
1384+
- name: NAMESPACE_FQDN
1385+
value: "default.svc.cluster.local."
13791386
ports:
13801387
- name: http2
13811388
containerPort: 4040

operations/pyroscope/helm/pyroscope/templates/deployments-statefulsets.yaml

+7-1
Original file line numberDiff line numberDiff line change
@@ -70,8 +70,14 @@ spec:
7070
{{- range $key, $value := $extraArgs }}
7171
- "-{{ $key }}={{ $value }}"
7272
{{- end }}
73-
{{- with $values.extraEnvVars }}
7473
env:
74+
- name: POD_NAME
75+
valueFrom:
76+
fieldRef:
77+
fieldPath: metadata.name
78+
- name: NAMESPACE_FQDN
79+
value: "{{ .Release.Namespace }}.svc{{ .Values.pyroscope.cluster_domain }}"
80+
{{- with $values.extraEnvVars }}
7581
{{- range $key, $value := . }}
7682
- name: {{ $key }}
7783
{{- if kindIs "map" $value }}

operations/pyroscope/helm/pyroscope/templates/services.yaml

+9
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,9 @@ spec:
2222
targetPort: {{ $values.service.port_name }}
2323
protocol: TCP
2424
name: {{ $values.service.port_name }}
25+
{{- with $values.service.extraPorts }}
26+
{{- toYaml . | nindent 4 }}
27+
{{- end }}
2528
selector:
2629
{{- include "pyroscope.selectorLabels" . | nindent 4 }}
2730
app.kubernetes.io/component: {{ $component | quote }}
@@ -45,6 +48,12 @@ spec:
4548
targetPort: {{ $values.service.port_name }}
4649
protocol: TCP
4750
name: {{ $values.service.port_name }}
51+
{{- with $values.service.extraPorts }}
52+
{{- toYaml . | nindent 4 }}
53+
{{- end }}
54+
{{- if $values.service.publishNotReadyAddresses }}
55+
publishNotReadyAddresses: true
56+
{{- end }}
4857
selector:
4958
{{- include "pyroscope.selectorLabels" . | nindent 4 }}
5059
app.kubernetes.io/component: {{ $component | quote }}

pkg/api/api.go

+14
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,11 @@ import (
2222
"github.com/grafana/dskit/server"
2323
grpcgw "github.com/grpc-ecosystem/grpc-gateway/v2/runtime"
2424

25+
compactorv1 "github.com/grafana/pyroscope/api/gen/proto/go/compactor/v1"
26+
metastorev1 "github.com/grafana/pyroscope/api/gen/proto/go/metastore/v1"
27+
querybackendv1 "github.com/grafana/pyroscope/api/gen/proto/go/querybackend/v1"
28+
"github.com/grafana/pyroscope/pkg/experiment/metastore"
29+
"github.com/grafana/pyroscope/pkg/experiment/querybackend"
2530
"github.com/grafana/pyroscope/public"
2631

2732
"github.com/grafana/pyroscope/api/gen/proto/go/adhocprofiles/v1/adhocprofilesv1connect"
@@ -320,6 +325,15 @@ func (a *API) RegisterAdHocProfiles(ahp *adhocprofiles.AdHocProfiles) {
320325
adhocprofilesv1connect.RegisterAdHocProfileServiceHandler(a.server.HTTP, ahp, a.connectOptionsAuthRecovery()...)
321326
}
322327

328+
func (a *API) RegisterMetastore(svc *metastore.Metastore) {
329+
metastorev1.RegisterMetastoreServiceServer(a.server.GRPC, svc)
330+
compactorv1.RegisterCompactionPlannerServer(a.server.GRPC, svc)
331+
}
332+
333+
func (a *API) RegisterQueryBackend(svc *querybackend.QueryBackend) {
334+
querybackendv1.RegisterQueryBackendServiceServer(a.server.GRPC, svc)
335+
}
336+
323337
func (a *API) connectOptionsRecovery() []connect.HandlerOption {
324338
return append(connectapi.DefaultHandlerOptions(), a.recoveryMiddleware)
325339
}

pkg/experiment/compactor/compaction_worker.go

+3-3
Original file line numberDiff line numberDiff line change
@@ -50,9 +50,9 @@ type Config struct {
5050
func (cfg *Config) RegisterFlags(f *flag.FlagSet) {
5151
const prefix = "compaction-worker."
5252
tempdir := filepath.Join(os.TempDir(), "pyroscope-compactor")
53-
f.IntVar(&cfg.JobCapacity, prefix+"job-capacity", 3, "how many concurrent jobs will a worker run at most")
54-
f.IntVar(&cfg.SmallObjectSize, prefix+"small-object-size-bytes", 8<<20, "size of the object that can be loaded in memory")
55-
f.StringVar(&cfg.TempDir, prefix+"temp-dir", tempdir, "temporary directory for compaction jobs")
53+
f.IntVar(&cfg.JobCapacity, prefix+"job-capacity", 3, "How many concurrent jobs will a worker run at most.")
54+
f.IntVar(&cfg.SmallObjectSize, prefix+"small-object-size-bytes", 8<<20, "Size of the object that can be loaded in memory.")
55+
f.StringVar(&cfg.TempDir, prefix+"temp-dir", tempdir, "Temporary directory for compaction jobs.")
5656
}
5757

5858
func New(config Config, logger log.Logger, metastoreClient *metastoreclient.Client, storage objstore.Bucket, reg prometheus.Registerer) (*Worker, error) {

pkg/experiment/ingester/segment.go

+9
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ import (
44
"context"
55
"crypto/rand"
66
"encoding/json"
7+
"flag"
78
"fmt"
89
"os"
910
"path"
@@ -39,6 +40,14 @@ const pathSegments = "segments"
3940
const pathAnon = tenant.DefaultTenantID
4041
const pathBlock = "block.bin"
4142

43+
type Config struct{}
44+
45+
func (cfg *Config) RegisterFlags(f *flag.FlagSet) {}
46+
47+
type SegmentWriter struct {
48+
// TODO: Implement
49+
}
50+
4251
type shardKey uint32
4352

4453
type segmentsWriter struct {

0 commit comments

Comments
 (0)