Documentation
¶
Index ¶
- Constants
- Variables
- 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"
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 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
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.
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