Skip to content

Commit 48e15d6

Browse files
craig[bot]herkolategancockroach-teamcity
committed
155611: roachprod: add parca agent r=DarrylWong a=herkolategan Adds the ability to install the Parca Agent on `roachprod` clusters. For more details on the capabilities of the Parca Agent and Polaris Signals see [Parca Agent] & [Polaris Signals]. [Parca Agent]: https://github.com/parca-dev/parca [Polaris Signals]: https://www.polarsignals.com/docs/overview Epic: None Release note: None 155941: master: Update pkg/testutils/release/cockroach_releases.yaml r=rail a=cockroach-teamcity Update pkg/testutils/release/cockroach_releases.yaml with recent values. Epic: None Release note: None Release justification: test-only updates Co-authored-by: Herko Lategan <[email protected]> Co-authored-by: CRL Release bot <[email protected]>
3 parents 4863e2d + 3509fcc + 530b84f commit 48e15d6

21 files changed

+181
-19
lines changed

pkg/BUILD.bazel

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -321,13 +321,13 @@ ALL_TESTS = [
321321
"//pkg/revert:revert_test",
322322
"//pkg/roachpb:roachpb_disallowed_imports_test",
323323
"//pkg/roachpb:roachpb_test",
324+
"//pkg/roachprod/agents/opentelemetry:opentelemetry_test",
324325
"//pkg/roachprod/blobfixture:blobfixture_test",
325326
"//pkg/roachprod/cloud:cloud_test",
326327
"//pkg/roachprod/config:config_test",
327328
"//pkg/roachprod/failureinjection/failures:failures_test",
328329
"//pkg/roachprod/install:install_test",
329330
"//pkg/roachprod/logger:logger_test",
330-
"//pkg/roachprod/opentelemetry:opentelemetry_test",
331331
"//pkg/roachprod/prometheus:prometheus_test",
332332
"//pkg/roachprod/promhelperclient:promhelperclient_test",
333333
"//pkg/roachprod/roachprodutil/codec:codec_test",
@@ -1703,6 +1703,10 @@ GO_TARGETS = [
17031703
"//pkg/revert:revert_test",
17041704
"//pkg/roachpb:roachpb",
17051705
"//pkg/roachpb:roachpb_test",
1706+
"//pkg/roachprod/agents/fluentbit:fluentbit",
1707+
"//pkg/roachprod/agents/opentelemetry:opentelemetry",
1708+
"//pkg/roachprod/agents/opentelemetry:opentelemetry_test",
1709+
"//pkg/roachprod/agents/parca:parca",
17061710
"//pkg/roachprod/blobfixture:blobfixture",
17071711
"//pkg/roachprod/blobfixture:blobfixture_test",
17081712
"//pkg/roachprod/cloud:cloud",
@@ -1712,14 +1716,11 @@ GO_TARGETS = [
17121716
"//pkg/roachprod/errors:errors",
17131717
"//pkg/roachprod/failureinjection/failures:failures",
17141718
"//pkg/roachprod/failureinjection/failures:failures_test",
1715-
"//pkg/roachprod/fluentbit:fluentbit",
17161719
"//pkg/roachprod/install:install",
17171720
"//pkg/roachprod/install:install_test",
17181721
"//pkg/roachprod/lock:lock",
17191722
"//pkg/roachprod/logger:logger",
17201723
"//pkg/roachprod/logger:logger_test",
1721-
"//pkg/roachprod/opentelemetry:opentelemetry",
1722-
"//pkg/roachprod/opentelemetry:opentelemetry_test",
17231724
"//pkg/roachprod/prometheus:prometheus",
17241725
"//pkg/roachprod/prometheus:prometheus_test",
17251726
"//pkg/roachprod/promhelperclient:promhelperclient",

pkg/cmd/roachprod/cli/BUILD.bazel

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,12 +16,13 @@ go_library(
1616
deps = [
1717
"//pkg/cmd/roachprod/grafana",
1818
"//pkg/roachprod",
19+
"//pkg/roachprod/agents/fluentbit",
20+
"//pkg/roachprod/agents/opentelemetry",
21+
"//pkg/roachprod/agents/parca",
1922
"//pkg/roachprod/cloud",
2023
"//pkg/roachprod/config",
2124
"//pkg/roachprod/errors",
22-
"//pkg/roachprod/fluentbit",
2325
"//pkg/roachprod/install",
24-
"//pkg/roachprod/opentelemetry",
2526
"//pkg/roachprod/roachprodutil",
2627
"//pkg/roachprod/ssh",
2728
"//pkg/roachprod/ui",

pkg/cmd/roachprod/cli/commands.go

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2147,6 +2147,32 @@ func (cr *commandRegistry) buildOpentelemetryStopCmd() *cobra.Command {
21472147
}
21482148
}
21492149

2150+
func (cr *commandRegistry) buildParcaAgentStartCmd() *cobra.Command {
2151+
parcaAgentStartCmd := &cobra.Command{
2152+
Use: "parca-agent-start <cluster>",
2153+
Short: "Install and start the Parca Agent",
2154+
Long: "Install and start the Parca Agent",
2155+
Args: cobra.ExactArgs(1),
2156+
Run: Wrap(func(cmd *cobra.Command, args []string) error {
2157+
return roachprod.StartParcaAgent(context.Background(), config.Logger, args[0], parcaAgentConfig)
2158+
}),
2159+
}
2160+
initParcaAgentStartCmdFlags(parcaAgentStartCmd)
2161+
return parcaAgentStartCmd
2162+
}
2163+
2164+
func (cr *commandRegistry) buildParcaAgentStopCmd() *cobra.Command {
2165+
return &cobra.Command{
2166+
Use: "parca-agent-stop <cluster>",
2167+
Short: "Stop the Parca Agent",
2168+
Long: "Stop the Parca Agent",
2169+
Args: cobra.ExactArgs(1),
2170+
Run: Wrap(func(cmd *cobra.Command, args []string) error {
2171+
return roachprod.StopParcaAgent(context.Background(), config.Logger, args[0])
2172+
}),
2173+
}
2174+
}
2175+
21502176
func (cr *commandRegistry) buildFetchLogsCmd() *cobra.Command {
21512177
fetchLogsCmd := &cobra.Command{
21522178
Use: "fetchlogs <cluster> <destination (optional)> [flags]",

pkg/cmd/roachprod/cli/flags.go

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -11,10 +11,11 @@ import (
1111
"time"
1212

1313
"github.com/cockroachdb/cockroach/pkg/roachprod"
14+
"github.com/cockroachdb/cockroach/pkg/roachprod/agents/fluentbit"
15+
"github.com/cockroachdb/cockroach/pkg/roachprod/agents/opentelemetry"
16+
"github.com/cockroachdb/cockroach/pkg/roachprod/agents/parca"
1417
"github.com/cockroachdb/cockroach/pkg/roachprod/config"
15-
"github.com/cockroachdb/cockroach/pkg/roachprod/fluentbit"
1618
"github.com/cockroachdb/cockroach/pkg/roachprod/install"
17-
"github.com/cockroachdb/cockroach/pkg/roachprod/opentelemetry"
1819
"github.com/cockroachdb/cockroach/pkg/roachprod/ssh"
1920
"github.com/cockroachdb/cockroach/pkg/roachprod/vm"
2021
"github.com/cockroachdb/cockroach/pkg/roachprod/vm/gce"
@@ -101,9 +102,9 @@ var (
101102

102103
sshKeyUser string
103104

104-
fluentBitConfig fluentbit.Config
105-
105+
fluentBitConfig fluentbit.Config
106106
opentelemetryConfig opentelemetry.Config
107+
parcaAgentConfig parca.Config
107108

108109
fetchLogsTimeout time.Duration
109110
)
@@ -393,6 +394,11 @@ func initOpentelemetryStartCmdFlags(opentelemetryStartCmd *cobra.Command) {
393394
"Datadog tags as a comma-separated list in the format KEY1:VAL1,KEY2:VAL2")
394395
}
395396

397+
func initParcaAgentStartCmdFlags(parcaAgentStartCmd *cobra.Command) {
398+
parcaAgentStartCmd.Flags().StringVar(&parcaAgentConfig.Token, "parca-agent-token", "",
399+
"Parca Agent Token")
400+
}
401+
396402
func initGCCmdFlags(gcCmd *cobra.Command) {
397403
gcCmd.Flags().BoolVarP(&dryrun,
398404
"dry-run", "n", dryrun, "dry run (don't perform any actions)")

pkg/cmd/roachprod/cli/resgistry.go

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -68,6 +68,8 @@ func (cr *commandRegistry) register() {
6868
cr.buildFluentBitStopCmd(),
6969
cr.buildOpentelemetryStartCmd(),
7070
cr.buildOpentelemetryStopCmd(),
71+
cr.buildParcaAgentStartCmd(),
72+
cr.buildParcaAgentStopCmd(),
7173
cr.buildFetchLogsCmd(),
7274
cr.buildGetLatestPProfCmd(),
7375
cr.buildFetchCertsDir(),

pkg/roachprod/BUILD.bazel

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,13 +16,14 @@ go_library(
1616
"//pkg/build",
1717
"//pkg/cli/exit",
1818
"//pkg/cmd/roachprod/grafana",
19+
"//pkg/roachprod/agents/fluentbit",
20+
"//pkg/roachprod/agents/opentelemetry",
21+
"//pkg/roachprod/agents/parca",
1922
"//pkg/roachprod/cloud",
2023
"//pkg/roachprod/config",
21-
"//pkg/roachprod/fluentbit",
2224
"//pkg/roachprod/install",
2325
"//pkg/roachprod/lock",
2426
"//pkg/roachprod/logger",
25-
"//pkg/roachprod/opentelemetry",
2627
"//pkg/roachprod/prometheus",
2728
"//pkg/roachprod/promhelperclient",
2829
"//pkg/roachprod/vm",

pkg/roachprod/fluentbit/BUILD.bazel renamed to pkg/roachprod/agents/fluentbit/BUILD.bazel

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ go_library(
77
"files/fluent-bit.service",
88
"files/fluent-bit.yaml.tmpl",
99
],
10-
importpath = "github.com/cockroachdb/cockroach/pkg/roachprod/fluentbit",
10+
importpath = "github.com/cockroachdb/cockroach/pkg/roachprod/agents/fluentbit",
1111
visibility = ["//visibility:public"],
1212
deps = [
1313
"//pkg/roachprod/install",
File renamed without changes.

0 commit comments

Comments
 (0)