Documentation
¶
Index ¶
- func CLIStart(command string, dateFilters, state bool, chunkSize int64)
- func Close()
- func Coordination(serviceType string)
- func Destination(destinationID, destinationType, mode, mappingsStyle string, ...)
- func EnrichMetaStorage(storage meta.Storage)
- func EnrichSystemInfo(clusterID string, systemInfo *runtime.Info)
- func Error(sourceID, destinationID, src, sourceType string, quantity int)
- func Event(sourceID, destinationID, src, sourceType string, quantity int)
- func Flush()
- func Init(serviceName, commit, tag, builtAt, dockerHubID string)
- func InitFromViper(telemetrySourceURL, serviceName, commit, tag, builtAt, dockerHubID string)
- func InitTest()
- func PushedErrorsPerSrc(sourceID, destinationID string, quantityPerSrc map[string]int)
- func PushedEventsPerSrc(sourceID, destinationID string, quantityPerSrc map[string]int)
- func ServerStart()
- func ServerStop()
- func Source(...)
- func SourceTaskStatus(...)
- func User(user *UserData)
- type Collector
- type Configuration
- type Counter
- type CriteriaKey
- type Errors
- type InstanceInfo
- type Request
- type RequestFactory
- type Service
- type Usage
- type UserData
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func Coordination ¶
func Coordination(serviceType string)
Coordination puts usage event with coordination service type
func Destination ¶
func Destination(destinationID, destinationType, mode, mappingsStyle string, usersRecognition, primaryKeysPresent bool)
Destination puts usage event with hashed destination id and type
func EnrichMetaStorage ¶
func EnrichSystemInfo ¶
EnrichSystemInfo enriches request factory (every request) with system information (CPU/RAM)
func Init ¶
func Init(serviceName, commit, tag, builtAt, dockerHubID string)
Init creates telemetry instance and starts goroutine
func InitFromViper ¶
func InitFromViper(telemetrySourceURL, serviceName, commit, tag, builtAt, dockerHubID string)
InitFromViper creates telemetry instance, starts goroutine if configuration is provided as a url - starts another goroutine (see resources.Watch)
func PushedErrorsPerSrc ¶
PushedErrorsPerSrc increments errors collector counter per Src
func PushedEventsPerSrc ¶
PushedEventsPerSrc increments events collector counter per Src
func Source ¶
func Source(sourceID, sourceType, sourceConnectorOrigin, sourceConnectorVersion, sourceSchedule string, streams int)
Source puts usage event with hashed source id and type
func SourceTaskStatus ¶
func SourceTaskStatus(taskID, sourceID, sourceType, collection, status, error, createdAt, startedAt, finishedAt string)
SourceTaskStatus puts task status usage event with hashed source id, task id and type
Types ¶
type Collector ¶
type Collector struct {
// contains filtered or unexported fields
}
Collector is a thread-safe collector for events accounting per source - destination pair, src,
func (*Collector) Cut ¶
func (c *Collector) Cut() (map[CriteriaKey]uint64, map[CriteriaKey]uint64)
Cut returns current counters values (events and errors)
type Configuration ¶
Configuration dto for telemetry enable/disable configuration
type Counter ¶
type Counter struct {
// contains filtered or unexported fields
}
Counter atomic counter
func (*Counter) AddValue ¶
func (c *Counter) AddValue(key CriteriaKey, value uint64)
AddValue adds value to the value under the key
func (*Counter) Cut ¶
func (c *Counter) Cut() map[CriteriaKey]uint64
Cut returns current value and set it to 0
type CriteriaKey ¶
type CriteriaKey struct {
// contains filtered or unexported fields
}
CriteriaKey is a key struct for map[CriteriaKey]value keeps hashed source and destination ids
type InstanceInfo ¶
type InstanceInfo struct { ID string `json:"id,omitempty"` Commit string `json:"commit,omitempty"` Tag string `json:"tag,omitempty"` BuiltAt string `json:"built_at,omitempty"` ServiceName string `json:"service,omitempty"` RunID string `json:"run_id,omitempty"` ClusterID string `json:"cluster_id,omitempty"` Arch string `json:"arch,omitempty"` MetaStorage string `json:"meta_storage,omitempty"` CPUInfoInstances int `json:"cpu_info_instances,omitempty"` CPUCores int `json:"cpu_cores,omitempty"` CPUModelName string `json:"cpu_model_name,omitempty"` CPUModel string `json:"cpu_model,omitempty"` CPUFamily string `json:"cpu_family,omitempty"` CPUVendor string `json:"cpu_vendor,omitempty"` RAMTotalGB float64 `json:"ram_total_gb,omitempty"` RAMFreeGB float64 `json:"ram_free_gb,omitempty"` RAMUsage string `json:"ram_usage,omitempty"` }
InstanceInfo is a deployed server data dto
func GetSystemInfo ¶
func GetSystemInfo() *InstanceInfo
type Request ¶
type Request struct { Timestamp string `json:"timestamp,omitempty"` InstanceInfo *InstanceInfo `json:"instance_info,omitempty"` MetricType string `json:"metric_type,omitempty"` Usage *Usage `json:"usage,omitempty"` Errors *Errors `json:"errors,omitempty"` User *UserData `json:"user,omitempty"` }
Request is a telemetry request dto
type RequestFactory ¶
type RequestFactory struct {
// contains filtered or unexported fields
}
RequestFactory is a factory for telemetry requests
type Service ¶
type Service struct {
// contains filtered or unexported fields
}
Service is used for sending telemetry
type Usage ¶
type Usage struct { DockerHubID string `json:"docker_hub_id,omitempty"` ServerStart int `json:"server_start,omitempty"` ServerStop int `json:"server_stop,omitempty"` Events uint64 `json:"events,omitempty"` Errors uint64 `json:"errors,omitempty"` EventsSrc string `json:"events_src,omitempty"` Source string `json:"hashed_source_id,omitempty"` SourceType string `json:"source_type,omitempty"` SourceConnectorOrigin string `json:"source_connector_origin,omitempty"` SourceConnectorVersion string `json:"source_connector_version,omitempty"` SourceSchedule string `json:"source_schedule,omitempty"` SourceStreams int `json:"source_streams,omitempty"` Task string `json:"hashed_task_id,omitempty"` TaskCollection string `json:"task_collection,omitempty"` TaskCreatedAt string `json:"task_created_at,omitempty"` TaskStartedAt string `json:"task_started_at,omitempty"` TaskFinishedAt string `json:"task_finished_at,omitempty"` TaskStatus string `json:"task_status,omitempty"` TaskError string `json:"task_error,omitempty"` Destination string `json:"hashed_destination_id,omitempty"` DestinationType string `json:"destination_type,omitempty"` DestinationMode string `json:"destination_mode,omitempty"` DestinationMapping string `json:"destination_mappings,omitempty"` DestinationPkKeys bool `json:"destination_primary_keys,omitempty"` UsersRecognition bool `json:"users_recognition,omitempty"` Coordination string `json:"coordination,omitempty"` CLICommand string `json:"cli_command,omitempty"` CLIStart int `json:"cli_start,omitempty"` CLIDateFilters bool `json:"cli_date_filters,omitempty"` CLIState bool `json:"cli_state,omitempty"` CLIChunkSize int64 `json:"cli_chunk_size,omitempty"` }
Usage is a usage accounting dto