Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions spartan/environments/bench-inclusion-sweep.env
Original file line number Diff line number Diff line change
Expand Up @@ -57,11 +57,11 @@ PROVER_TEST_VERIFICATION_DELAY_MS=60
PROVER_AGENT_KEDA_ENABLED=true
PROVER_AGENT_KEDA_PROMETHEUS_SERVER_ADDRESS=REPLACE_WITH_GCP_SECRET
PROVER_AGENT_KEDA_MIN_REPLICAS=0
PROVER_AGENT_KEDA_MAX_REPLICAS=10
PROVER_AGENT_KEDA_MAX_REPLICAS=100
PROVER_AGENT_KEDA_SCALING_BANDS='[
{
queueSize = 0
replicas = 10
replicas = 100
}
]'

Expand Down
81 changes: 0 additions & 81 deletions spartan/environments/mainnet-v4.env

This file was deleted.

105 changes: 0 additions & 105 deletions spartan/environments/testnet-v4.env

This file was deleted.

1 change: 1 addition & 0 deletions spartan/terraform/deploy-ethereum/variables.tf
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ variable "API_KEY_SECRET_NAMES" {
"eth-sepolia-rpc-consumer-client2",
"eth-sepolia-rpc-consumer-client3",
"eth-sepolia-rpc-consumer-client4",
"eth-sepolia-rpc-consumer-client5",
]
}

Expand Down
1 change: 1 addition & 0 deletions yarn-project/foundation/src/config/env_var.ts
Original file line number Diff line number Diff line change
Expand Up @@ -100,6 +100,7 @@ export type EnvVar =
| 'NETWORK'
| 'NETWORK_CONFIG_LOCATION'
| 'ALLOW_OVERRIDING_NETWORK_CONFIG'
| 'USE_AWS_LOGGING'
| 'USE_GCLOUD_LOGGING'
| 'OTEL_EXPORTER_OTLP_METRICS_ENDPOINT'
| 'OTEL_EXPORTER_OTLP_TRACES_ENDPOINT'
Expand Down
32 changes: 32 additions & 0 deletions yarn-project/foundation/src/log/aws-logger-config.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
import type { pino } from 'pino';

function getSeverity(label: string): { severityText: string; severityNumber: number } {
switch (label) {
case 'trace':
return { severityText: 'TRACE', severityNumber: 1 };
case 'debug':
return { severityText: 'DEBUG', severityNumber: 5 };
case 'verbose':
return { severityText: 'VERBOSE', severityNumber: 7 };
case 'info':
return { severityText: 'INFO', severityNumber: 9 };
case 'warn':
return { severityText: 'WARN', severityNumber: 13 };
case 'error':
return { severityText: 'ERROR', severityNumber: 17 };
case 'fatal':
return { severityText: 'FATAL', severityNumber: 21 };
default:
return { severityText: 'UNSPECIFIED', severityNumber: 0 };
}
}

/** Pino configuration that adds OpenTelemetry severity fields understood by CloudWatch Logs. */
export const AWSCloudLoggerConfig = {
messageKey: 'msg',
formatters: {
level(label: string, level: number): object {
return { level, ...getSeverity(label) };
},
},
} satisfies pino.LoggerOptions;
18 changes: 14 additions & 4 deletions yarn-project/foundation/src/log/pino-logger.ts
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ import { inspect } from 'util';
import { compactArray } from '../collection/array.js';
import type { EnvVar } from '../config/index.js';
import { parseBooleanEnv } from '../config/parse-env.js';
import { AWSCloudLoggerConfig } from './aws-logger-config.js';
import { convertBigintsToStrings } from './bigint-utils.js';
import { GoogleCloudLoggerConfig } from './gcloud-logger-config.js';
import { getLogLevelFromFilters, parseLogLevelEnvVar } from './log-filters.js';
Expand Down Expand Up @@ -134,8 +135,17 @@ export const [logLevel, logFilters] = parseLogLevelEnvVar(process.env.LOG_LEVEL,
// Define custom logging levels for pino.
const customLevels = { verbose: 25 };

// Global pino options, tweaked for google cloud if running there.
// Global pino options, tweaked for the active cloud logging backend.
const useGcloudLogging = parseBooleanEnv(process.env['USE_GCLOUD_LOGGING' satisfies EnvVar]);
const useAwsLogging = parseBooleanEnv(process.env['USE_AWS_LOGGING' satisfies EnvVar]);
const loggingConfig = useGcloudLogging
? GoogleCloudLoggerConfig
: useAwsLogging
? AWSCloudLoggerConfig
: {
formatters: {},
messageKey: 'msg',
};

const redactedPaths = [
'validatorPrivateKeys',
Expand All @@ -156,7 +166,7 @@ const redactedPaths = [

const pinoOpts: pino.LoggerOptions<keyof typeof customLevels> = {
customLevels,
messageKey: 'msg',
messageKey: loggingConfig.messageKey,
useOnlyCustomLevels: false,
level: logLevel,
redact: {
Expand All @@ -170,8 +180,8 @@ const pinoOpts: pino.LoggerOptions<keyof typeof customLevels> = {
},
formatters: {
log: obj => convertBigintsToStrings(obj) as Record<string, unknown>,
...loggingConfig.formatters,
},
...(useGcloudLogging ? GoogleCloudLoggerConfig : {}),
};

export const levels = {
Expand Down Expand Up @@ -241,7 +251,7 @@ const pinoPrettyBaseOpts = {
destination: 2,
sync: true,
colorize: useColor,
ignore: 'module,actor,instanceId,pid,hostname,trace_id,span_id,trace_flags,severity',
ignore: 'module,actor,instanceId,pid,hostname,trace_id,span_id,trace_flags,severity,severityText,severityNumber',
customLevels: 'fatal:60,error:50,warn:40,info:30,verbose:25,debug:20,trace:10',
customColors: 'fatal:bgRed,error:red,warn:yellow,info:green,verbose:magenta,debug:blue,trace:gray',
minimumLevel: 'trace' as const,
Expand Down
Loading