_go

package
v0.12.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 12, 2026 License: GPL-3.0 Imports: 11 Imported by: 0

Documentation

Index

Constants

View Source
const (
	OrcaCore_RegisterProcessor_FullMethodName = "/OrcaCore/RegisterProcessor"
	OrcaCore_EmitWindow_FullMethodName        = "/OrcaCore/EmitWindow"
	OrcaCore_Expose_FullMethodName            = "/OrcaCore/Expose"
)
View Source
const (
	OrcaProcessor_ExecuteDagPart_FullMethodName = "/OrcaProcessor/ExecuteDagPart"
	OrcaProcessor_HealthCheck_FullMethodName    = "/OrcaProcessor/HealthCheck"
)

Variables

View Source
var (
	ResultType_name = map[int32]string{
		0: "NOT_SPECIFIED",
		1: "STRUCT",
		2: "VALUE",
		3: "ARRAY",
		4: "NONE",
	}
	ResultType_value = map[string]int32{
		"NOT_SPECIFIED": 0,
		"STRUCT":        1,
		"VALUE":         2,
		"ARRAY":         3,
		"NONE":          4,
	}
)

Enum value maps for ResultType.

View Source
var (
	ResultStatus_name = map[int32]string{
		0: "RESULT_STATUS_HANDLED_FAILED",
		1: "RESULT_STATUS_UNHANDLED_FAILED",
		2: "RESULT_STATUS_SUCEEDED",
	}
	ResultStatus_value = map[string]int32{
		"RESULT_STATUS_HANDLED_FAILED":   0,
		"RESULT_STATUS_UNHANDLED_FAILED": 1,
		"RESULT_STATUS_SUCEEDED":         2,
	}
)

Enum value maps for ResultStatus.

View Source
var (
	WindowEmitStatus_StatusEnum_name = map[int32]string{
		0: "TRIGGERING_FAILED",
		1: "NO_TRIGGERED_ALGORITHMS",
		2: "PROCESSING_TRIGGERED",
	}
	WindowEmitStatus_StatusEnum_value = map[string]int32{
		"TRIGGERING_FAILED":       0,
		"NO_TRIGGERED_ALGORITHMS": 1,
		"PROCESSING_TRIGGERED":    2,
	}
)

Enum value maps for WindowEmitStatus_StatusEnum.

View Source
var (
	HealthCheckResponse_Status_name = map[int32]string{
		0: "STATUS_UNKNOWN",
		1: "STATUS_SERVING",
		2: "STATUS_TRANSITIONING",
		3: "STATUS_NOT_SERVING",
	}
	HealthCheckResponse_Status_value = map[string]int32{
		"STATUS_UNKNOWN":       0,
		"STATUS_SERVING":       1,
		"STATUS_TRANSITIONING": 2,
		"STATUS_NOT_SERVING":   3,
	}
)

Enum value maps for HealthCheckResponse_Status.

View Source
var File_service_proto protoreflect.FileDescriptor
View Source
var OrcaCore_ServiceDesc = grpc.ServiceDesc{
	ServiceName: "OrcaCore",
	HandlerType: (*OrcaCoreServer)(nil),
	Methods: []grpc.MethodDesc{
		{
			MethodName: "RegisterProcessor",
			Handler:    _OrcaCore_RegisterProcessor_Handler,
		},
		{
			MethodName: "EmitWindow",
			Handler:    _OrcaCore_EmitWindow_Handler,
		},
		{
			MethodName: "Expose",
			Handler:    _OrcaCore_Expose_Handler,
		},
	},
	Streams:  []grpc.StreamDesc{},
	Metadata: "service.proto",
}

OrcaCore_ServiceDesc is the grpc.ServiceDesc for OrcaCore service. It's only intended for direct use with grpc.RegisterService, and not to be introspected or modified (even as a copy)

View Source
var OrcaProcessor_ServiceDesc = grpc.ServiceDesc{
	ServiceName: "OrcaProcessor",
	HandlerType: (*OrcaProcessorServer)(nil),
	Methods: []grpc.MethodDesc{
		{
			MethodName: "HealthCheck",
			Handler:    _OrcaProcessor_HealthCheck_Handler,
		},
	},
	Streams: []grpc.StreamDesc{
		{
			StreamName:    "ExecuteDagPart",
			Handler:       _OrcaProcessor_ExecuteDagPart_Handler,
			ServerStreams: true,
		},
	},
	Metadata: "service.proto",
}

OrcaProcessor_ServiceDesc is the grpc.ServiceDesc for OrcaProcessor service. It's only intended for direct use with grpc.RegisterService, and not to be introspected or modified (even as a copy)

Functions

func RegisterOrcaCoreServer

func RegisterOrcaCoreServer(s grpc.ServiceRegistrar, srv OrcaCoreServer)

func RegisterOrcaProcessorServer

func RegisterOrcaProcessorServer(s grpc.ServiceRegistrar, srv OrcaProcessorServer)

Types

type Algorithm

type Algorithm struct {

	// Name of the algorithm - must be globally unique
	// This identifies the algorithm across the system
	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	// Version of the algorithm - must follow semantic versioning
	// Allows for algorithm evolution while maintaining compatibility
	Version string `protobuf:"bytes,2,opt,name=version,proto3" json:"version,omitempty"`
	// Type of window that triggers this algorithm
	// References a WindowType that will cause this algorithm to execute
	WindowType *WindowType `protobuf:"bytes,3,opt,name=window_type,json=windowType,proto3" json:"window_type,omitempty"`
	// Other algorithms that this algorithm depends on
	// The algorithm won't execute until all dependencies have completed
	// Dependencies must not form cycles - this is statically checked on processor registration
	Dependencies []*AlgorithmDependency `protobuf:"bytes,4,rep,name=dependencies,proto3" json:"dependencies,omitempty"`
	// The type of result that the algorithm produces. This is specified upfront
	// rather than introspected, to allow for validation
	ResultType ResultType `protobuf:"varint,5,opt,name=result_type,json=resultType,proto3,enum=ResultType" json:"result_type,omitempty"`
	// A freeform description of the algorithm
	Description string `protobuf:"bytes,6,opt,name=description,proto3" json:"description,omitempty"`
	// contains filtered or unexported fields
}

Algorithm defines a processing unit that can be executed by processors. Algorithms form the nodes in the processing DAG and are triggered by specific window types.

func (*Algorithm) Descriptor deprecated

func (*Algorithm) Descriptor() ([]byte, []int)

Deprecated: Use Algorithm.ProtoReflect.Descriptor instead.

func (*Algorithm) GetDependencies

func (x *Algorithm) GetDependencies() []*AlgorithmDependency

func (*Algorithm) GetDescription

func (x *Algorithm) GetDescription() string

func (*Algorithm) GetName

func (x *Algorithm) GetName() string

func (*Algorithm) GetResultType

func (x *Algorithm) GetResultType() ResultType

func (*Algorithm) GetVersion

func (x *Algorithm) GetVersion() string

func (*Algorithm) GetWindowType

func (x *Algorithm) GetWindowType() *WindowType

func (*Algorithm) ProtoMessage

func (*Algorithm) ProtoMessage()

func (*Algorithm) ProtoReflect

func (x *Algorithm) ProtoReflect() protoreflect.Message

func (*Algorithm) Reset

func (x *Algorithm) Reset()

func (*Algorithm) String

func (x *Algorithm) String() string

type AlgorithmDependency

type AlgorithmDependency struct {

	// Name of the required algorithm
	// Must reference an existing algorithm name in the system
	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	// Version of the required algorithm
	// Must follow semantic versioning (e.g., "1.0.0")
	Version string `protobuf:"bytes,2,opt,name=version,proto3" json:"version,omitempty"`
	// Name of the processor that the algorithm is associated with
	ProcessorName string `protobuf:"bytes,3,opt,name=processor_name,json=processorName,proto3" json:"processor_name,omitempty"`
	// Runtime of the processor that the algorithm is associated with
	ProcessorRuntime string `protobuf:"bytes,4,opt,name=processor_runtime,json=processorRuntime,proto3" json:"processor_runtime,omitempty"`
	// A lookback field that specifies whether this dependency
	// depends on past results of this algorithm
	//
	// Types that are assignable to Lookback:
	//
	//	*AlgorithmDependency_LookbackNum
	//	*AlgorithmDependency_LookbackTimeDelta
	Lookback isAlgorithmDependency_Lookback `protobuf_oneof:"lookback"`
	// contains filtered or unexported fields
}

AlgorithmDependency defines a requirement that one algorithm has on another's results. These dependencies form the edges in the processing DAG.

func (*AlgorithmDependency) Descriptor deprecated

func (*AlgorithmDependency) Descriptor() ([]byte, []int)

Deprecated: Use AlgorithmDependency.ProtoReflect.Descriptor instead.

func (*AlgorithmDependency) GetLookback

func (m *AlgorithmDependency) GetLookback() isAlgorithmDependency_Lookback

func (*AlgorithmDependency) GetLookbackNum

func (x *AlgorithmDependency) GetLookbackNum() uint32

func (*AlgorithmDependency) GetLookbackTimeDelta

func (x *AlgorithmDependency) GetLookbackTimeDelta() uint64

func (*AlgorithmDependency) GetName

func (x *AlgorithmDependency) GetName() string

func (*AlgorithmDependency) GetProcessorName

func (x *AlgorithmDependency) GetProcessorName() string

func (*AlgorithmDependency) GetProcessorRuntime

func (x *AlgorithmDependency) GetProcessorRuntime() string

func (*AlgorithmDependency) GetVersion

func (x *AlgorithmDependency) GetVersion() string

func (*AlgorithmDependency) ProtoMessage

func (*AlgorithmDependency) ProtoMessage()

func (*AlgorithmDependency) ProtoReflect

func (x *AlgorithmDependency) ProtoReflect() protoreflect.Message

func (*AlgorithmDependency) Reset

func (x *AlgorithmDependency) Reset()

func (*AlgorithmDependency) String

func (x *AlgorithmDependency) String() string

type AlgorithmDependencyResult

type AlgorithmDependencyResult struct {

	// The Algorithm
	Algorithm *Algorithm `protobuf:"bytes,1,opt,name=algorithm,proto3" json:"algorithm,omitempty"`
	// The result
	Result []*AlgorithmDependencyResultRow `protobuf:"bytes,2,rep,name=result,proto3" json:"result,omitempty"`
	// contains filtered or unexported fields
}

A sequence of results for an algorithm dependency

func (*AlgorithmDependencyResult) Descriptor deprecated

func (*AlgorithmDependencyResult) Descriptor() ([]byte, []int)

Deprecated: Use AlgorithmDependencyResult.ProtoReflect.Descriptor instead.

func (*AlgorithmDependencyResult) GetAlgorithm

func (x *AlgorithmDependencyResult) GetAlgorithm() *Algorithm

func (*AlgorithmDependencyResult) GetResult

func (*AlgorithmDependencyResult) ProtoMessage

func (*AlgorithmDependencyResult) ProtoMessage()

func (*AlgorithmDependencyResult) ProtoReflect

func (*AlgorithmDependencyResult) Reset

func (x *AlgorithmDependencyResult) Reset()

func (*AlgorithmDependencyResult) String

func (x *AlgorithmDependencyResult) String() string

type AlgorithmDependencyResultRow

type AlgorithmDependencyResultRow struct {

	// The result
	Result *Result `protobuf:"bytes,1,opt,name=result,proto3" json:"result,omitempty"`
	// The window that triggered the result
	Window *Window `protobuf:"bytes,2,opt,name=window,proto3" json:"window,omitempty"`
	// contains filtered or unexported fields
}

The result of a dependency

func (*AlgorithmDependencyResultRow) Descriptor deprecated

func (*AlgorithmDependencyResultRow) Descriptor() ([]byte, []int)

Deprecated: Use AlgorithmDependencyResultRow.ProtoReflect.Descriptor instead.

func (*AlgorithmDependencyResultRow) GetResult

func (x *AlgorithmDependencyResultRow) GetResult() *Result

func (*AlgorithmDependencyResultRow) GetWindow

func (x *AlgorithmDependencyResultRow) GetWindow() *Window

func (*AlgorithmDependencyResultRow) ProtoMessage

func (*AlgorithmDependencyResultRow) ProtoMessage()

func (*AlgorithmDependencyResultRow) ProtoReflect

func (*AlgorithmDependencyResultRow) Reset

func (x *AlgorithmDependencyResultRow) Reset()

func (*AlgorithmDependencyResultRow) String

type AlgorithmDependency_LookbackNum

type AlgorithmDependency_LookbackNum struct {
	// Number of past results to depend on (if at all)
	LookbackNum uint32 `protobuf:"varint,5,opt,name=lookback_num,json=lookbackNum,proto3,oneof"`
}

type AlgorithmDependency_LookbackTimeDelta

type AlgorithmDependency_LookbackTimeDelta struct {
	// Timeframe of past results to depend on (in nanoseconds)
	LookbackTimeDelta uint64 `protobuf:"varint,6,opt,name=lookback_time_delta,json=lookbackTimeDelta,proto3,oneof"`
}

type AlgorithmResult

type AlgorithmResult struct {
	Algorithm *Algorithm `protobuf:"bytes,1,opt,name=algorithm,proto3" json:"algorithm,omitempty"`
	Result    *Result    `protobuf:"bytes,2,opt,name=result,proto3" json:"result,omitempty"`
	Window    *Window    `protobuf:"bytes,3,opt,name=window,proto3" json:"window,omitempty"`
	// contains filtered or unexported fields
}

AlgorithmWindowResult Packaged algorithm and result to a window

func (*AlgorithmResult) Descriptor deprecated

func (*AlgorithmResult) Descriptor() ([]byte, []int)

Deprecated: Use AlgorithmResult.ProtoReflect.Descriptor instead.

func (*AlgorithmResult) GetAlgorithm

func (x *AlgorithmResult) GetAlgorithm() *Algorithm

func (*AlgorithmResult) GetResult

func (x *AlgorithmResult) GetResult() *Result

func (*AlgorithmResult) GetWindow

func (x *AlgorithmResult) GetWindow() *Window

func (*AlgorithmResult) ProtoMessage

func (*AlgorithmResult) ProtoMessage()

func (*AlgorithmResult) ProtoReflect

func (x *AlgorithmResult) ProtoReflect() protoreflect.Message

func (*AlgorithmResult) Reset

func (x *AlgorithmResult) Reset()

func (*AlgorithmResult) String

func (x *AlgorithmResult) String() string

type ExecuteAlgorithm

type ExecuteAlgorithm struct {

	// The algorithm to execute
	Algorithm *Algorithm `protobuf:"bytes,1,opt,name=algorithm,proto3" json:"algorithm,omitempty"`
	// The results of a dependent algorithm
	Dependencies []*AlgorithmDependencyResult `protobuf:"bytes,2,rep,name=dependencies,proto3" json:"dependencies,omitempty"`
	// contains filtered or unexported fields
}

The algorithm execution packet

func (*ExecuteAlgorithm) Descriptor deprecated

func (*ExecuteAlgorithm) Descriptor() ([]byte, []int)

Deprecated: Use ExecuteAlgorithm.ProtoReflect.Descriptor instead.

func (*ExecuteAlgorithm) GetAlgorithm

func (x *ExecuteAlgorithm) GetAlgorithm() *Algorithm

func (*ExecuteAlgorithm) GetDependencies

func (x *ExecuteAlgorithm) GetDependencies() []*AlgorithmDependencyResult

func (*ExecuteAlgorithm) ProtoMessage

func (*ExecuteAlgorithm) ProtoMessage()

func (*ExecuteAlgorithm) ProtoReflect

func (x *ExecuteAlgorithm) ProtoReflect() protoreflect.Message

func (*ExecuteAlgorithm) Reset

func (x *ExecuteAlgorithm) Reset()

func (*ExecuteAlgorithm) String

func (x *ExecuteAlgorithm) String() string

type ExecutionRequest

type ExecutionRequest struct {

	// The exec_id
	ExecId string `protobuf:"bytes,1,opt,name=exec_id,json=execId,proto3" json:"exec_id,omitempty"`
	// The window that triggered the algorithm
	Window *Window `protobuf:"bytes,2,opt,name=window,proto3" json:"window,omitempty"`
	// Results from dependant algorithms
	//
	// Deprecated: Marked as deprecated in service.proto.
	AlgorithmResults []*AlgorithmResult `protobuf:"bytes,3,rep,name=algorithm_results,json=algorithmResults,proto3" json:"algorithm_results,omitempty"`
	// The algorithms to execute
	//
	// Deprecated: Marked as deprecated in service.proto.
	Algorithms          []*Algorithm        `protobuf:"bytes,4,rep,name=algorithms,proto3" json:"algorithms,omitempty"` // FIXME:
	AlgorithmExecutions []*ExecuteAlgorithm `protobuf:"bytes,5,rep,name=algorithm_executions,json=algorithmExecutions,proto3" json:"algorithm_executions,omitempty"`
	// contains filtered or unexported fields
}

ExecutionRequest provides a statement of processing as requested by Orca core.

func (*ExecutionRequest) Descriptor deprecated

func (*ExecutionRequest) Descriptor() ([]byte, []int)

Deprecated: Use ExecutionRequest.ProtoReflect.Descriptor instead.

func (*ExecutionRequest) GetAlgorithmExecutions

func (x *ExecutionRequest) GetAlgorithmExecutions() []*ExecuteAlgorithm

func (*ExecutionRequest) GetAlgorithmResults deprecated

func (x *ExecutionRequest) GetAlgorithmResults() []*AlgorithmResult

Deprecated: Marked as deprecated in service.proto.

func (*ExecutionRequest) GetAlgorithms deprecated

func (x *ExecutionRequest) GetAlgorithms() []*Algorithm

Deprecated: Marked as deprecated in service.proto.

func (*ExecutionRequest) GetExecId

func (x *ExecutionRequest) GetExecId() string

func (*ExecutionRequest) GetWindow

func (x *ExecutionRequest) GetWindow() *Window

func (*ExecutionRequest) ProtoMessage

func (*ExecutionRequest) ProtoMessage()

func (*ExecutionRequest) ProtoReflect

func (x *ExecutionRequest) ProtoReflect() protoreflect.Message

func (*ExecutionRequest) Reset

func (x *ExecutionRequest) Reset()

func (*ExecutionRequest) String

func (x *ExecutionRequest) String() string

type ExecutionResult

type ExecutionResult struct {

	// Exec ID
	ExecId string `protobuf:"bytes,1,opt,name=exec_id,json=execId,proto3" json:"exec_id,omitempty"`
	// The algorithn result
	AlgorithmResult *AlgorithmResult `protobuf:"bytes,3,opt,name=algorithm_result,json=algorithmResult,proto3" json:"algorithm_result,omitempty"`
	// contains filtered or unexported fields
}

func (*ExecutionResult) Descriptor deprecated

func (*ExecutionResult) Descriptor() ([]byte, []int)

Deprecated: Use ExecutionResult.ProtoReflect.Descriptor instead.

func (*ExecutionResult) GetAlgorithmResult

func (x *ExecutionResult) GetAlgorithmResult() *AlgorithmResult

func (*ExecutionResult) GetExecId

func (x *ExecutionResult) GetExecId() string

func (*ExecutionResult) ProtoMessage

func (*ExecutionResult) ProtoMessage()

func (*ExecutionResult) ProtoReflect

func (x *ExecutionResult) ProtoReflect() protoreflect.Message

func (*ExecutionResult) Reset

func (x *ExecutionResult) Reset()

func (*ExecutionResult) String

func (x *ExecutionResult) String() string

type ExposeSettings

type ExposeSettings struct {
	ExcludeProject string `protobuf:"bytes,1,opt,name=exclude_project,json=excludeProject,proto3" json:"exclude_project,omitempty"`
	// contains filtered or unexported fields
}

ExposeSettings provides optional settings to the `Expose` procedure

func (*ExposeSettings) Descriptor deprecated

func (*ExposeSettings) Descriptor() ([]byte, []int)

Deprecated: Use ExposeSettings.ProtoReflect.Descriptor instead.

func (*ExposeSettings) GetExcludeProject

func (x *ExposeSettings) GetExcludeProject() string

func (*ExposeSettings) ProtoMessage

func (*ExposeSettings) ProtoMessage()

func (*ExposeSettings) ProtoReflect

func (x *ExposeSettings) ProtoReflect() protoreflect.Message

func (*ExposeSettings) Reset

func (x *ExposeSettings) Reset()

func (*ExposeSettings) String

func (x *ExposeSettings) String() string

type FloatArray

type FloatArray struct {
	Values []float32 `protobuf:"fixed32,1,rep,packed,name=values,proto3" json:"values,omitempty"`
	// contains filtered or unexported fields
}

Container for array of float values

func (*FloatArray) Descriptor deprecated

func (*FloatArray) Descriptor() ([]byte, []int)

Deprecated: Use FloatArray.ProtoReflect.Descriptor instead.

func (*FloatArray) GetValues

func (x *FloatArray) GetValues() []float32

func (*FloatArray) ProtoMessage

func (*FloatArray) ProtoMessage()

func (*FloatArray) ProtoReflect

func (x *FloatArray) ProtoReflect() protoreflect.Message

func (*FloatArray) Reset

func (x *FloatArray) Reset()

func (*FloatArray) String

func (x *FloatArray) String() string

type HealthCheckRequest

type HealthCheckRequest struct {

	// Timestamp of the request in unix epoch milliseconds
	// Used to measure response latency
	Timestamp int64 `protobuf:"varint,1,opt,name=timestamp,proto3" json:"timestamp,omitempty"`
	// contains filtered or unexported fields
}

HealthCheckRequest is sent to processors to verify they are functioning

func (*HealthCheckRequest) Descriptor deprecated

func (*HealthCheckRequest) Descriptor() ([]byte, []int)

Deprecated: Use HealthCheckRequest.ProtoReflect.Descriptor instead.

func (*HealthCheckRequest) GetTimestamp

func (x *HealthCheckRequest) GetTimestamp() int64

func (*HealthCheckRequest) ProtoMessage

func (*HealthCheckRequest) ProtoMessage()

func (*HealthCheckRequest) ProtoReflect

func (x *HealthCheckRequest) ProtoReflect() protoreflect.Message

func (*HealthCheckRequest) Reset

func (x *HealthCheckRequest) Reset()

func (*HealthCheckRequest) String

func (x *HealthCheckRequest) String() string

type HealthCheckResponse

type HealthCheckResponse struct {

	// Current health status
	Status HealthCheckResponse_Status `protobuf:"varint,1,opt,name=status,proto3,enum=HealthCheckResponse_Status" json:"status,omitempty"`
	// Optional message providing more detail about the health status
	Message string `protobuf:"bytes,2,opt,name=message,proto3" json:"message,omitempty"`
	// System metrics about the processor
	Metrics *ProcessorMetrics `protobuf:"bytes,3,opt,name=metrics,proto3" json:"metrics,omitempty"`
	// contains filtered or unexported fields
}

HealthCheckResponse indicates the health status of a processor

func (*HealthCheckResponse) Descriptor deprecated

func (*HealthCheckResponse) Descriptor() ([]byte, []int)

Deprecated: Use HealthCheckResponse.ProtoReflect.Descriptor instead.

func (*HealthCheckResponse) GetMessage

func (x *HealthCheckResponse) GetMessage() string

func (*HealthCheckResponse) GetMetrics

func (x *HealthCheckResponse) GetMetrics() *ProcessorMetrics

func (*HealthCheckResponse) GetStatus

func (*HealthCheckResponse) ProtoMessage

func (*HealthCheckResponse) ProtoMessage()

func (*HealthCheckResponse) ProtoReflect

func (x *HealthCheckResponse) ProtoReflect() protoreflect.Message

func (*HealthCheckResponse) Reset

func (x *HealthCheckResponse) Reset()

func (*HealthCheckResponse) String

func (x *HealthCheckResponse) String() string

type HealthCheckResponse_Status

type HealthCheckResponse_Status int32

Overall health status of the processor

const (
	// Unknown status - should never be used
	HealthCheckResponse_STATUS_UNKNOWN HealthCheckResponse_Status = 0
	// Processor is healthy and ready to accept tasks
	HealthCheckResponse_STATUS_SERVING HealthCheckResponse_Status = 1
	// Processor is starting up or shutting down
	HealthCheckResponse_STATUS_TRANSITIONING HealthCheckResponse_Status = 2
	// Processor is not healthy and cannot accept tasks
	HealthCheckResponse_STATUS_NOT_SERVING HealthCheckResponse_Status = 3
)

func (HealthCheckResponse_Status) Descriptor

func (HealthCheckResponse_Status) Enum

func (HealthCheckResponse_Status) EnumDescriptor deprecated

func (HealthCheckResponse_Status) EnumDescriptor() ([]byte, []int)

Deprecated: Use HealthCheckResponse_Status.Descriptor instead.

func (HealthCheckResponse_Status) Number

func (HealthCheckResponse_Status) String

func (HealthCheckResponse_Status) Type

type InternalState

type InternalState struct {

	// Global list of all registered processors and their metadata
	Processors []*ProcessorRegistration `protobuf:"bytes,1,rep,name=processors,proto3" json:"processors,omitempty"`
	// contains filtered or unexported fields
}

InternalState provides a complete snapshot of Orca's registry. This is used by clients to "clone" the remote state into local code stubs.

func (*InternalState) Descriptor deprecated

func (*InternalState) Descriptor() ([]byte, []int)

Deprecated: Use InternalState.ProtoReflect.Descriptor instead.

func (*InternalState) GetProcessors

func (x *InternalState) GetProcessors() []*ProcessorRegistration

func (*InternalState) ProtoMessage

func (*InternalState) ProtoMessage()

func (*InternalState) ProtoReflect

func (x *InternalState) ProtoReflect() protoreflect.Message

func (*InternalState) Reset

func (x *InternalState) Reset()

func (*InternalState) String

func (x *InternalState) String() string

type MetadataField

type MetadataField struct {

	// Name of the metadata field
	// Examples: "AssetID"
	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	// Description of the field
	// Examples: "Unique ID of the asset"
	Description string `protobuf:"bytes,2,opt,name=description,proto3" json:"description,omitempty"`
	// contains filtered or unexported fields
}

MetadataField describes the metadata that can be carried along with windows

func (*MetadataField) Descriptor deprecated

func (*MetadataField) Descriptor() ([]byte, []int)

Deprecated: Use MetadataField.ProtoReflect.Descriptor instead.

func (*MetadataField) GetDescription

func (x *MetadataField) GetDescription() string

func (*MetadataField) GetName

func (x *MetadataField) GetName() string

func (*MetadataField) ProtoMessage

func (*MetadataField) ProtoMessage()

func (*MetadataField) ProtoReflect

func (x *MetadataField) ProtoReflect() protoreflect.Message

func (*MetadataField) Reset

func (x *MetadataField) Reset()

func (*MetadataField) String

func (x *MetadataField) String() string

type OrcaCoreClient

type OrcaCoreClient interface {
	// Register a processor node and its supported algorithms
	RegisterProcessor(ctx context.Context, in *ProcessorRegistration, opts ...grpc.CallOption) (*Status, error)
	// Submit a window for processing
	EmitWindow(ctx context.Context, in *Window, opts ...grpc.CallOption) (*WindowEmitStatus, error)
	// Expose the internal Orca state
	Expose(ctx context.Context, in *ExposeSettings, opts ...grpc.CallOption) (*InternalState, error)
}

OrcaCoreClient is the client API for OrcaCore service.

For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream.

OrcaCore is the central orchestration service that: - Manages the lifecycle of processing windows - Coordinates algorithm execution across distributed processors - Tracks DAG dependencies and execution state - Routes results between dependent algorithms

func NewOrcaCoreClient

func NewOrcaCoreClient(cc grpc.ClientConnInterface) OrcaCoreClient

type OrcaCoreServer

type OrcaCoreServer interface {
	// Register a processor node and its supported algorithms
	RegisterProcessor(context.Context, *ProcessorRegistration) (*Status, error)
	// Submit a window for processing
	EmitWindow(context.Context, *Window) (*WindowEmitStatus, error)
	// Expose the internal Orca state
	Expose(context.Context, *ExposeSettings) (*InternalState, error)
	// contains filtered or unexported methods
}

OrcaCoreServer is the server API for OrcaCore service. All implementations must embed UnimplementedOrcaCoreServer for forward compatibility.

OrcaCore is the central orchestration service that: - Manages the lifecycle of processing windows - Coordinates algorithm execution across distributed processors - Tracks DAG dependencies and execution state - Routes results between dependent algorithms

type OrcaProcessorClient

type OrcaProcessorClient interface {
	// Execute part of a DAG with streaming results
	// Server streams back execution results as they become available
	ExecuteDagPart(ctx context.Context, in *ExecutionRequest, opts ...grpc.CallOption) (grpc.ServerStreamingClient[ExecutionResult], error)
	// Check health/status of processor. i.e. a heartbeat
	HealthCheck(ctx context.Context, in *HealthCheckRequest, opts ...grpc.CallOption) (*HealthCheckResponse, error)
}

OrcaProcessorClient is the client API for OrcaProcessor service.

For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream.

OrcaProcessor defines the interface that each processing node must implement. Processors are language-agnostic services that: - Execute individual algorithms - Handle their own internal state - Report results back to the orchestrator Orca will schedule processors asynchronously as per the DAG

type OrcaProcessorServer

type OrcaProcessorServer interface {
	// Execute part of a DAG with streaming results
	// Server streams back execution results as they become available
	ExecuteDagPart(*ExecutionRequest, grpc.ServerStreamingServer[ExecutionResult]) error
	// Check health/status of processor. i.e. a heartbeat
	HealthCheck(context.Context, *HealthCheckRequest) (*HealthCheckResponse, error)
	// contains filtered or unexported methods
}

OrcaProcessorServer is the server API for OrcaProcessor service. All implementations must embed UnimplementedOrcaProcessorServer for forward compatibility.

OrcaProcessor defines the interface that each processing node must implement. Processors are language-agnostic services that: - Execute individual algorithms - Handle their own internal state - Report results back to the orchestrator Orca will schedule processors asynchronously as per the DAG

type OrcaProcessor_ExecuteDagPartClient

type OrcaProcessor_ExecuteDagPartClient = grpc.ServerStreamingClient[ExecutionResult]

This type alias is provided for backwards compatibility with existing code that references the prior non-generic stream type by name.

type OrcaProcessor_ExecuteDagPartServer

type OrcaProcessor_ExecuteDagPartServer = grpc.ServerStreamingServer[ExecutionResult]

This type alias is provided for backwards compatibility with existing code that references the prior non-generic stream type by name.

type ProcessorMetrics

type ProcessorMetrics struct {

	// Number of algorithms currently being executed
	ActiveTasks int32 `protobuf:"varint,1,opt,name=active_tasks,json=activeTasks,proto3" json:"active_tasks,omitempty"`
	// Memory usage in bytes
	MemoryBytes int64 `protobuf:"varint,2,opt,name=memory_bytes,json=memoryBytes,proto3" json:"memory_bytes,omitempty"`
	// CPU usage percentage (0-100)
	CpuPercent float32 `protobuf:"fixed32,3,opt,name=cpu_percent,json=cpuPercent,proto3" json:"cpu_percent,omitempty"`
	// Time since processor started in seconds
	UptimeSeconds int64 `protobuf:"varint,4,opt,name=uptime_seconds,json=uptimeSeconds,proto3" json:"uptime_seconds,omitempty"`
	// contains filtered or unexported fields
}

ProcessorMetrics provides runtime information about a processor

func (*ProcessorMetrics) Descriptor deprecated

func (*ProcessorMetrics) Descriptor() ([]byte, []int)

Deprecated: Use ProcessorMetrics.ProtoReflect.Descriptor instead.

func (*ProcessorMetrics) GetActiveTasks

func (x *ProcessorMetrics) GetActiveTasks() int32

func (*ProcessorMetrics) GetCpuPercent

func (x *ProcessorMetrics) GetCpuPercent() float32

func (*ProcessorMetrics) GetMemoryBytes

func (x *ProcessorMetrics) GetMemoryBytes() int64

func (*ProcessorMetrics) GetUptimeSeconds

func (x *ProcessorMetrics) GetUptimeSeconds() int64

func (*ProcessorMetrics) ProtoMessage

func (*ProcessorMetrics) ProtoMessage()

func (*ProcessorMetrics) ProtoReflect

func (x *ProcessorMetrics) ProtoReflect() protoreflect.Message

func (*ProcessorMetrics) Reset

func (x *ProcessorMetrics) Reset()

func (*ProcessorMetrics) String

func (x *ProcessorMetrics) String() string

type ProcessorRegistration

type ProcessorRegistration struct {

	// Unique name of the runtime
	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	// Language/runtime of the processor
	// Examples: "python3.9", "go1.19", "Rust4.1"
	Runtime string `protobuf:"bytes,2,opt,name=runtime,proto3" json:"runtime,omitempty"`
	// The connection string of the processor
	// e.g. grpc://localhost:5433
	ConnectionStr string `protobuf:"bytes,3,opt,name=connection_str,json=connectionStr,proto3" json:"connection_str,omitempty"`
	// Algorithms this processor can execute
	// The processor must implement all listed algorithms
	SupportedAlgorithms []*Algorithm `protobuf:"bytes,4,rep,name=supported_algorithms,json=supportedAlgorithms,proto3" json:"supported_algorithms,omitempty"`
	// A name that can be attached to a group of processors. Describes the project in which
	// they are defined (typically a single git repository)
	ProjectName string `protobuf:"bytes,5,opt,name=project_name,json=projectName,proto3" json:"project_name,omitempty"`
	// contains filtered or unexported fields
}

ProcessorRegistration is sent by processors when they start up to announce their capabilities to the orchestrator. This establishes a long-lived connection for receiving tasks.

func (*ProcessorRegistration) Descriptor deprecated

func (*ProcessorRegistration) Descriptor() ([]byte, []int)

Deprecated: Use ProcessorRegistration.ProtoReflect.Descriptor instead.

func (*ProcessorRegistration) GetConnectionStr

func (x *ProcessorRegistration) GetConnectionStr() string

func (*ProcessorRegistration) GetName

func (x *ProcessorRegistration) GetName() string

func (*ProcessorRegistration) GetProjectName

func (x *ProcessorRegistration) GetProjectName() string

func (*ProcessorRegistration) GetRuntime

func (x *ProcessorRegistration) GetRuntime() string

func (*ProcessorRegistration) GetSupportedAlgorithms

func (x *ProcessorRegistration) GetSupportedAlgorithms() []*Algorithm

func (*ProcessorRegistration) ProtoMessage

func (*ProcessorRegistration) ProtoMessage()

func (*ProcessorRegistration) ProtoReflect

func (x *ProcessorRegistration) ProtoReflect() protoreflect.Message

func (*ProcessorRegistration) Reset

func (x *ProcessorRegistration) Reset()

func (*ProcessorRegistration) String

func (x *ProcessorRegistration) String() string

type Result

type Result struct {

	// Status of the result execution
	Status ResultStatus `protobuf:"varint,1,opt,name=status,proto3,enum=ResultStatus" json:"status,omitempty"`
	// The actual result data - can be either an array of floats or a structured object
	//
	// Types that are assignable to ResultData:
	//
	//	*Result_SingleValue
	//	*Result_FloatValues
	//	*Result_StructValue
	ResultData isResult_ResultData `protobuf_oneof:"result_data"`
	// Timestamp when the result was produced
	Timestamp int64 `protobuf:"varint,5,opt,name=timestamp,proto3" json:"timestamp,omitempty"`
	// contains filtered or unexported fields
}

Result of an algorithm execution

func (*Result) Descriptor deprecated

func (*Result) Descriptor() ([]byte, []int)

Deprecated: Use Result.ProtoReflect.Descriptor instead.

func (*Result) GetFloatValues

func (x *Result) GetFloatValues() *FloatArray

func (*Result) GetResultData

func (m *Result) GetResultData() isResult_ResultData

func (*Result) GetSingleValue

func (x *Result) GetSingleValue() float32

func (*Result) GetStatus

func (x *Result) GetStatus() ResultStatus

func (*Result) GetStructValue

func (x *Result) GetStructValue() *structpb.Struct

func (*Result) GetTimestamp

func (x *Result) GetTimestamp() int64

func (*Result) ProtoMessage

func (*Result) ProtoMessage()

func (*Result) ProtoReflect

func (x *Result) ProtoReflect() protoreflect.Message

func (*Result) Reset

func (x *Result) Reset()

func (*Result) String

func (x *Result) String() string

type ResultStatus

type ResultStatus int32

ResultStatus indicates the outcome of algorithm execution

const (
	// Algorithm failed but the error was handled gracefully
	// The system may retry or skip depending on configuration
	ResultStatus_RESULT_STATUS_HANDLED_FAILED ResultStatus = 0
	// Algorithm failed with an unexpected error
	// Requires investigation and may halt dependent processing
	ResultStatus_RESULT_STATUS_UNHANDLED_FAILED ResultStatus = 1
	// Algorithm completed successfully
	// Results are valid and can be used by dependent algorithms
	ResultStatus_RESULT_STATUS_SUCEEDED ResultStatus = 2
)

func (ResultStatus) Descriptor

func (ResultStatus) Enum

func (x ResultStatus) Enum() *ResultStatus

func (ResultStatus) EnumDescriptor deprecated

func (ResultStatus) EnumDescriptor() ([]byte, []int)

Deprecated: Use ResultStatus.Descriptor instead.

func (ResultStatus) Number

func (ResultStatus) String

func (x ResultStatus) String() string

func (ResultStatus) Type

type ResultType

type ResultType int32
const (
	// placeholder sentinel to make explicit that nothing was provided
	ResultType_NOT_SPECIFIED ResultType = 0
	// the algorithm produces a struct result
	ResultType_STRUCT ResultType = 1
	// the algorithm produces a single value
	ResultType_VALUE ResultType = 2
	// the algorithm produces an array of values
	ResultType_ARRAY ResultType = 3
	// the algorithm does not produce a result
	ResultType_NONE ResultType = 4
)

func (ResultType) Descriptor

func (ResultType) Descriptor() protoreflect.EnumDescriptor

func (ResultType) Enum

func (x ResultType) Enum() *ResultType

func (ResultType) EnumDescriptor deprecated

func (ResultType) EnumDescriptor() ([]byte, []int)

Deprecated: Use ResultType.Descriptor instead.

func (ResultType) Number

func (x ResultType) Number() protoreflect.EnumNumber

func (ResultType) String

func (x ResultType) String() string

func (ResultType) Type

type Result_FloatValues

type Result_FloatValues struct {
	// For numeric array results
	FloatValues *FloatArray `protobuf:"bytes,3,opt,name=float_values,json=floatValues,proto3,oneof"`
}

type Result_SingleValue

type Result_SingleValue struct {
	// for single number results
	SingleValue float32 `protobuf:"fixed32,2,opt,name=single_value,json=singleValue,proto3,oneof"`
}

type Result_StructValue

type Result_StructValue struct {
	// For structured data results (JSON-like)
	// Must follow a map<string, value> schema where value corresponds to https://protobuf.dev/reference/protobuf/google.protobuf/#value
	StructValue *structpb.Struct `protobuf:"bytes,4,opt,name=struct_value,json=structValue,proto3,oneof"`
}

type Status

type Status struct {
	Received bool   `protobuf:"varint,1,opt,name=received,proto3" json:"received,omitempty"`
	Message  string `protobuf:"bytes,2,opt,name=message,proto3" json:"message,omitempty"`
	// contains filtered or unexported fields
}

func (*Status) Descriptor deprecated

func (*Status) Descriptor() ([]byte, []int)

Deprecated: Use Status.ProtoReflect.Descriptor instead.

func (*Status) GetMessage

func (x *Status) GetMessage() string

func (*Status) GetReceived

func (x *Status) GetReceived() bool

func (*Status) ProtoMessage

func (*Status) ProtoMessage()

func (*Status) ProtoReflect

func (x *Status) ProtoReflect() protoreflect.Message

func (*Status) Reset

func (x *Status) Reset()

func (*Status) String

func (x *Status) String() string

type UnimplementedOrcaCoreServer

type UnimplementedOrcaCoreServer struct{}

UnimplementedOrcaCoreServer must be embedded to have forward compatible implementations.

NOTE: this should be embedded by value instead of pointer to avoid a nil pointer dereference when methods are called.

func (UnimplementedOrcaCoreServer) EmitWindow

func (UnimplementedOrcaCoreServer) Expose

func (UnimplementedOrcaCoreServer) RegisterProcessor

type UnimplementedOrcaProcessorServer

type UnimplementedOrcaProcessorServer struct{}

UnimplementedOrcaProcessorServer must be embedded to have forward compatible implementations.

NOTE: this should be embedded by value instead of pointer to avoid a nil pointer dereference when methods are called.

func (UnimplementedOrcaProcessorServer) ExecuteDagPart

func (UnimplementedOrcaProcessorServer) HealthCheck

type UnsafeOrcaCoreServer

type UnsafeOrcaCoreServer interface {
	// contains filtered or unexported methods
}

UnsafeOrcaCoreServer may be embedded to opt out of forward compatibility for this service. Use of this interface is not recommended, as added methods to OrcaCoreServer will result in compilation errors.

type UnsafeOrcaProcessorServer

type UnsafeOrcaProcessorServer interface {
	// contains filtered or unexported methods
}

UnsafeOrcaProcessorServer may be embedded to opt out of forward compatibility for this service. Use of this interface is not recommended, as added methods to OrcaProcessorServer will result in compilation errors.

type Window

type Window struct {

	// Time that the window starts - nanoseconds since epoch
	// Required: Must be > Unix epoch (1970-01-01T00:00:00Z)
	TimeFrom *timestamppb.Timestamp `protobuf:"bytes,1,opt,name=time_from,json=timeFrom,proto3" json:"time_from,omitempty"`
	// Time that the window ends - nanoseconds since epoch
	// Required: Must be > time_from (validated at message level)
	TimeTo *timestamppb.Timestamp `protobuf:"bytes,2,opt,name=time_to,json=timeTo,proto3" json:"time_to,omitempty"`
	// The canonical name of the window that uniquely identifies it
	WindowTypeName string `protobuf:"bytes,3,opt,name=window_type_name,json=windowTypeName,proto3" json:"window_type_name,omitempty"`
	// The version of the window type
	WindowTypeVersion string `protobuf:"bytes,4,opt,name=window_type_version,json=windowTypeVersion,proto3" json:"window_type_version,omitempty"`
	// A unique identifier that defines where the window came from
	Origin string `protobuf:"bytes,5,opt,name=origin,proto3" json:"origin,omitempty"`
	// Additional metadata to attach to this window
	// The schema of this metadata is determined by the combination of
	// window_type_name and window_type_version. Each window type version
	// defines its own required and optional metadata fields, as defined
	// at the time of registration.
	Metadata *structpb.Struct `protobuf:"bytes,6,opt,name=metadata,proto3" json:"metadata,omitempty"`
	// contains filtered or unexported fields
}

Window represents a time-bounded processing context that triggers algorithm execution. Windows are the primary input that start DAG processing flows.

func (*Window) Descriptor deprecated

func (*Window) Descriptor() ([]byte, []int)

Deprecated: Use Window.ProtoReflect.Descriptor instead.

func (*Window) GetMetadata

func (x *Window) GetMetadata() *structpb.Struct

func (*Window) GetOrigin

func (x *Window) GetOrigin() string

func (*Window) GetTimeFrom

func (x *Window) GetTimeFrom() *timestamppb.Timestamp

func (*Window) GetTimeTo

func (x *Window) GetTimeTo() *timestamppb.Timestamp

func (*Window) GetWindowTypeName

func (x *Window) GetWindowTypeName() string

func (*Window) GetWindowTypeVersion

func (x *Window) GetWindowTypeVersion() string

func (*Window) ProtoMessage

func (*Window) ProtoMessage()

func (*Window) ProtoReflect

func (x *Window) ProtoReflect() protoreflect.Message

func (*Window) Reset

func (x *Window) Reset()

func (*Window) String

func (x *Window) String() string

type WindowEmitStatus

type WindowEmitStatus struct {
	Status WindowEmitStatus_StatusEnum `protobuf:"varint,1,opt,name=status,proto3,enum=WindowEmitStatus_StatusEnum" json:"status,omitempty"`
	// contains filtered or unexported fields
}

WindowEmitStatus status message returned after emitting a window

func (*WindowEmitStatus) Descriptor deprecated

func (*WindowEmitStatus) Descriptor() ([]byte, []int)

Deprecated: Use WindowEmitStatus.ProtoReflect.Descriptor instead.

func (*WindowEmitStatus) GetStatus

func (*WindowEmitStatus) ProtoMessage

func (*WindowEmitStatus) ProtoMessage()

func (*WindowEmitStatus) ProtoReflect

func (x *WindowEmitStatus) ProtoReflect() protoreflect.Message

func (*WindowEmitStatus) Reset

func (x *WindowEmitStatus) Reset()

func (*WindowEmitStatus) String

func (x *WindowEmitStatus) String() string

type WindowEmitStatus_StatusEnum

type WindowEmitStatus_StatusEnum int32

A status enum that captures scenarios regarding a window being emmited

const (
	// When triggering has failed
	WindowEmitStatus_TRIGGERING_FAILED WindowEmitStatus_StatusEnum = 0
	// When no algorithms could be found that are triggered by this window
	WindowEmitStatus_NO_TRIGGERED_ALGORITHMS WindowEmitStatus_StatusEnum = 1
	// When processing has successfully been triggered
	WindowEmitStatus_PROCESSING_TRIGGERED WindowEmitStatus_StatusEnum = 2
)

func (WindowEmitStatus_StatusEnum) Descriptor

func (WindowEmitStatus_StatusEnum) Enum

func (WindowEmitStatus_StatusEnum) EnumDescriptor deprecated

func (WindowEmitStatus_StatusEnum) EnumDescriptor() ([]byte, []int)

Deprecated: Use WindowEmitStatus_StatusEnum.Descriptor instead.

func (WindowEmitStatus_StatusEnum) Number

func (WindowEmitStatus_StatusEnum) String

func (WindowEmitStatus_StatusEnum) Type

type WindowType

type WindowType struct {

	// Name of the window type - must be globally unique
	// Examples: "daily", "hourly", "market_close", "event_triggered"
	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	// Version of the algorithm. Follows basic semver and allows window
	// types to be changed over time, with traceability
	Version string `protobuf:"bytes,2,opt,name=version,proto3" json:"version,omitempty"`
	// Description of the window
	// E.g. "Emitted every day, at noon"
	Description string `protobuf:"bytes,3,opt,name=description,proto3" json:"description,omitempty"`
	// Metadata fields that are carried along with this window type
	MetadataFields []*MetadataField `protobuf:"bytes,4,rep,name=metadataFields,proto3" json:"metadataFields,omitempty"`
	// contains filtered or unexported fields
}

WindowType defines a category of window that can trigger algorithms. Algorithms subscribe to window types to indicate when they should be executed.

func (*WindowType) Descriptor deprecated

func (*WindowType) Descriptor() ([]byte, []int)

Deprecated: Use WindowType.ProtoReflect.Descriptor instead.

func (*WindowType) GetDescription

func (x *WindowType) GetDescription() string

func (*WindowType) GetMetadataFields

func (x *WindowType) GetMetadataFields() []*MetadataField

func (*WindowType) GetName

func (x *WindowType) GetName() string

func (*WindowType) GetVersion

func (x *WindowType) GetVersion() string

func (*WindowType) ProtoMessage

func (*WindowType) ProtoMessage()

func (*WindowType) ProtoReflect

func (x *WindowType) ProtoReflect() protoreflect.Message

func (*WindowType) Reset

func (x *WindowType) Reset()

func (*WindowType) String

func (x *WindowType) String() string

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL