Documentation
¶
Index ¶
- Constants
- Variables
- func BindEnvVars(fs *pflag.FlagSet)
- func FlagNameToEnvVar(flagName string) string
- func OmesDataConverter() converter.DataConverter
- func StartProcessMetricsSidecar(logger *zap.SugaredLogger, address string, workerPID int, sdkVersion string, ...) *http.Server
- type ClientOptions
- type InfoResponse
- type Language
- type LoggingOptions
- type MetricsOptions
- type PassThroughPayloadConverter
- func (p *PassThroughPayloadConverter) Encoding() string
- func (p *PassThroughPayloadConverter) FromPayload(payload *common.Payload, valuePtr interface{}) error
- func (p *PassThroughPayloadConverter) ToPayload(value interface{}) (*common.Payload, error)
- func (p *PassThroughPayloadConverter) ToString(payload *common.Payload) string
- type PrometheusInstanceFlags
- type ScenarioID
- type SdkOptions
- type WorkerOptions
- type ZapAdapter
- func (log *ZapAdapter) Debug(msg string, keyvals ...interface{})
- func (log *ZapAdapter) Error(msg string, keyvals ...interface{})
- func (log *ZapAdapter) Info(msg string, keyvals ...interface{})
- func (log *ZapAdapter) Warn(msg string, keyvals ...interface{})
- func (log *ZapAdapter) With(keyvals ...interface{}) log.Logger
Constants ¶
const AUTH_HEADER_ENV_VAR = "TEMPORAL_OMES_AUTH_HEADER"
const EnvVarPrefix = "TEMPORAL_OMES_"
EnvVarPrefix is the prefix applied to all environment variable names.
Variables ¶
var BackupLogger = log.New(os.Stderr, "", 0)
BackupLogger is used in case we can't instantiate zap (it's nicer DX than panicking or using built-in `log`).
Functions ¶
func BindEnvVars ¶
BindEnvVars sets flag values from environment variables for any flags not explicitly set on the command line. CLI flags always take precedence over environment variables. Environment variable names are derived from flag names via FlagNameToEnvVar.
func FlagNameToEnvVar ¶
FlagNameToEnvVar converts a flag name to its corresponding environment variable name. For example, "server-address" becomes "TEMPORAL_OMES_SERVER_ADDRESS".
func OmesDataConverter ¶
func OmesDataConverter() converter.DataConverter
func StartProcessMetricsSidecar ¶
func StartProcessMetricsSidecar( logger *zap.SugaredLogger, address string, workerPID int, sdkVersion string, buildID string, language string, ) *http.Server
StartProcessMetricsSidecar starts a process metrics server that monitors an external PID. This is called by run.go after starting the SDK worker subprocess. It serves /metrics (CPU/memory for the worker PID) and /info (worker metadata).
Types ¶
type ClientOptions ¶
type ClientOptions struct {
// Address of Temporal server to connect to
Address string
// Temporal namespace
Namespace string
// Enable TLS
EnableTLS bool
// TLS client cert
ClientCertPath string
// TLS client private key
ClientKeyPath string
// TLS server name
TLSServerName string
// Authorization header value
AuthHeader string
// Disable Host Verification
DisableHostVerification bool
// contains filtered or unexported fields
}
Options for creating a Temporal client.
func (*ClientOptions) Dial ¶
func (c *ClientOptions) Dial(metrics *metrics.Metrics, logger *zap.SugaredLogger) (client.Client, error)
Dial connects to a Temporal server, with logging, metrics, loaded TLS certs and set auth header.
func (*ClientOptions) FlagSet ¶
func (c *ClientOptions) FlagSet() *pflag.FlagSet
FlagSet adds the relevant flags to populate the options struct and returns a pflag.FlagSet.
func (*ClientOptions) MustDial ¶
func (c *ClientOptions) MustDial(metrics *metrics.Metrics, logger *zap.SugaredLogger) client.Client
MustDial connects to a Temporal server, with logging, metrics and loaded TLS certs.
type InfoResponse ¶
type InfoResponse struct {
SDKVersion string `json:"sdk_version"`
BuildID string `json:"build_id"`
Language string `json:"language"`
}
InfoResponse is returned by the /info endpoint on the process metrics server. Only contains fields that run-scenario doesn't already know.
type LoggingOptions ¶
type LoggingOptions struct {
// Log level
LogLevel string
// Log encoding (console json)
LogEncoding string
// Prepared logger to use instead of creating a new one from options. Progamatic use only.
PreparedLogger *zap.SugaredLogger
// contains filtered or unexported fields
}
LoggingOptions for setting up the logger component
func (*LoggingOptions) FlagSet ¶
func (l *LoggingOptions) FlagSet() *pflag.FlagSet
FlagSet adds the relevant flags to populate the options struct and returns a pflag.FlagSet.
func (*LoggingOptions) MustCreateLogger ¶
func (l *LoggingOptions) MustCreateLogger() *zap.SugaredLogger
MustCreateLogger sets up a zap logger or panics on error.
type MetricsOptions ¶
type MetricsOptions struct {
// Address for the Prometheus HTTP listener.
// If empty, the listener will not be started.
PrometheusListenAddress string
// HTTP path for serving metrics.
// Default "/metrics".
PrometheusHandlerPath string
// Address for separate process metrics server (CPU/memory only).
// If empty, process metrics will not be served separately.
WorkerProcessMetricsAddress string
// MetricsVersionTag is the SDK version/ref to report in metrics.
// This is used by the sidecar's /info endpoint and is NOT passed to the worker.
// If empty, falls back to the --version flag value.
MetricsVersionTag string
// contains filtered or unexported fields
}
MetricsOptions for setting up Prometheus metrics.
func (*MetricsOptions) FlagSet ¶
func (m *MetricsOptions) FlagSet(prefix string) *pflag.FlagSet
FlagSet adds the relevant flags to populate the options struct and returns a pflag.FlagSet.
func (*MetricsOptions) MustCreateMetrics ¶
func (m *MetricsOptions) MustCreateMetrics(ctx context.Context, logger *zap.SugaredLogger) *metrics.Metrics
MustCreateMetrics sets up Prometheus based metrics and starts an HTTP server for serving SDK metrics.
type PassThroughPayloadConverter ¶
type PassThroughPayloadConverter struct{}
func (*PassThroughPayloadConverter) Encoding ¶
func (p *PassThroughPayloadConverter) Encoding() string
func (*PassThroughPayloadConverter) FromPayload ¶
func (p *PassThroughPayloadConverter) FromPayload(payload *common.Payload, valuePtr interface{}) error
type PrometheusInstanceFlags ¶
type PrometheusInstanceFlags struct {
metrics.PrometheusInstanceOptions
// contains filtered or unexported fields
}
type ScenarioID ¶
func (*ScenarioID) AddCLIFlags ¶
func (r *ScenarioID) AddCLIFlags(fs *pflag.FlagSet)
type SdkOptions ¶
func (*SdkOptions) AddCLIFlags ¶
func (s *SdkOptions) AddCLIFlags(fs *pflag.FlagSet)
type WorkerOptions ¶
type WorkerOptions struct {
BuildID string
DeploymentName string
DeploymentBuildID string
DefaultVersioningBehavior string
MaxConcurrentActivityPollers int
MaxConcurrentWorkflowPollers int
ActivityPollerAutoscaleMax int // overrides MaxConcurrentActivityPollers
WorkflowPollerAutoscaleMax int // overrides MaxConcurrentWorkflowPollers
MaxConcurrentActivities int
MaxConcurrentWorkflowTasks int
WorkerActivitiesPerSecond float64
ErrOnUnimplemented bool
// contains filtered or unexported fields
}
WorkerOptions for setting up worker parameters
func (*WorkerOptions) FlagSet ¶
func (m *WorkerOptions) FlagSet() *pflag.FlagSet
FlagSet adds the relevant flags to populate the options struct and returns a pflag.FlagSet.
func (*WorkerOptions) FlagSetWithPrefix ¶
func (m *WorkerOptions) FlagSetWithPrefix(prefix string) *pflag.FlagSet
FlagSetWithPrefix adds worker flags using the provided prefix. The stock OMES CLI keeps the historic "worker-" prefix, while the Go harness mirrors the Python harness worker flags without that prefix.
type ZapAdapter ¶
type ZapAdapter struct {
// contains filtered or unexported fields
}
func NewZapAdapter ¶
func NewZapAdapter(zapLogger *zap.Logger) *ZapAdapter
func (*ZapAdapter) Debug ¶
func (log *ZapAdapter) Debug(msg string, keyvals ...interface{})
func (*ZapAdapter) Error ¶
func (log *ZapAdapter) Error(msg string, keyvals ...interface{})
func (*ZapAdapter) Info ¶
func (log *ZapAdapter) Info(msg string, keyvals ...interface{})
func (*ZapAdapter) Warn ¶
func (log *ZapAdapter) Warn(msg string, keyvals ...interface{})
func (*ZapAdapter) With ¶
func (log *ZapAdapter) With(keyvals ...interface{}) log.Logger