otel

package
v0.20.0 Latest Latest
Warning

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

Go to latest
Published: Nov 6, 2022 License: MPL-2.0 Imports: 11 Imported by: 0

README

Sink-Collector Sequence Diagrams

On Create Sink

The new service, which will trigger K8s New pods, is called Maestro for now

Create

sequenceDiagram
    autoNumber 1
    User->>Sinks: Creates a new sink
    Sinks->>Redis: add CreateSinkEvent (orb.sinks / stream) //ok
    Note over Sinker,Redis: Sinker is subscribed to orb.sinks stream
    Sinker->>Redis: readgroup to operation CreateSinkEvent (orb.sinks / stream) //tbd
    Sinker->>Redis: add key: sink-id / val otelConfigYaml (orb.sinker.otelConfigYaml / hashmap) //tbd
    
sequenceDiagram
    autoNumber 1
    Note over Sinker: Received metrics, fetched policy, dataset, sink, retrieved sink id 222
    Sinker->>Redis: read key: sink-id / val: deploymentYaml (orb.maestro.otelCollector / hashmap)
    Sinker->>Maestro: grpc: create otel-collector
    Maestro->>Redis: read (orb.sinker.otelConfigYaml) with key 222
    Maestro->>Redis: add key: sink-id / val: deploymentYaml (orb.maestro.otelCollector / hashmap)
    Maestro->>Kubernetes: Create otel-collector pod with Sink 222 config YAML
    Note over Sinker,OtelCol222: Once collector is up metrics will flow
    Sinker->>OtelCol222: 

Update

sequenceDiagram
    autoNumber 1
    User->>Sinks: Updates Sink 222 Information
    Sinks->>Redis: add UpdateSinkEvent (orb.sinks / stream) //ok
    Note over Sinker,Redis: Sinker is subscribed to orb.sinks stream
    Sinker->>Redis: read to operation UpdateSinkEvent (orb.sinks / stream) //ok
    Sinker->>Redis: update key: sink-id / val otelConfigYaml (orb.sinker.otelConfigYaml / hashmap) //tbd
    Sinker->>Maestro: grpc: update otel-collector
    Maestro->>Redis: update key: 222 / val: deploymentYaml (orb.maestro.otelCollector / hashmap)
    Maestro->>Kubernetes: Updates deployment with new values
    Note over Sinker,OtelCol222: Once collector is synced metrics would flow again
    Sinker->>OtelCol222: 

Delete

sequenceDiagram
    autoNumber 1
    User->>Sinks: Deletes Sink 222
    Sinks->>Redis: add DeleteSinkEvent (orb.sinks / stream) //ok
    Note over Sinker,Redis: Sinker is subscribed to orb.sinks stream
    Sinker->>Redis: read to operation RemoveSinkEvent (orb.sinks / stream) //tbd
    Sinker->>Redis: remove key: sink-id / val otelConfigYaml (orb.sinker.otelConfigYaml / hashmap) //tbd
    Sinker->>Maestro: grpc: remove otel-collector
    Maestro->>Redis: remove key: 222 / val: deploymentYaml (orb.maestro.otelCollector / hashmap)
    Maestro->>Kubernetes: removes deployment

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func StartOtelComponents

func StartOtelComponents(ctx context.Context, bridgeService *bridgeservice.SinkerOtelBridgeService, logger *zap.Logger, kafkaUrl string, pubSub mfnats.PubSub) (context.CancelFunc, error)

Types

This section is empty.

Directories

Path Synopsis
Package kafkaexporter exports trace data to Kafka.
Package kafkaexporter exports trace data to Kafka.
internal/awsmsk
Package msk implements the required IAM auth used by AWS' managed Kafka platform to be used with the Surama kafka producer.
Package msk implements the required IAM auth used by AWS' managed Kafka platform to be used with the Surama kafka producer.
internal/sharedcomponent
Package sharedcomponent exposes util functionality for receivers and exporters that need to share state between different signal types instances such as net.Listener or os.File.
Package sharedcomponent exposes util functionality for receivers and exporters that need to share state between different signal types instances such as net.Listener or os.File.

Jump to

Keyboard shortcuts

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