types

package
v1.9.2 Latest Latest
Warning

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

Go to latest
Published: May 29, 2023 License: AGPL-3.0 Imports: 5 Imported by: 0

Documentation

Index

Constants

View Source
const (
	CoreReportingClient      = "core"
	WarehouseReportingClient = "warehouse"

	SupportedTransformerApiVersion = 2

	DefaultReportingEnabled = true
	DefaultReplayEnabled    = false
)

Variables

View Source
var (
	DiffStatus = "diff"

	// Module names
	GATEWAY                = "gateway"
	DESTINATION_FILTER     = "destination_filter"
	TRACKINGPLAN_VALIDATOR = "tracking_plan_validator"
	USER_TRANSFORMER       = "user_transformer"
	EVENT_FILTER           = "event_filter"
	DEST_TRANSFORMER       = "dest_transformer"
	ROUTER                 = "router"
	BATCH_ROUTER           = "batch_router"
	WAREHOUSE              = "warehouse"
)
View Source
var (
	// Tracking plan validation states
	SUCCEEDED_WITHOUT_VIOLATIONS = "succeeded_without_violations"
	SUCCEEDED_WITH_VIOLATIONS    = "succeeded_with_violations"
)

Functions

func AssertSameKeys

func AssertSameKeys[V1, V2 any](m1 map[string]V1, m2 map[string]V2)

Types

type Client

type Client struct {
	Config
	DbHandle *sql.DB
}

type Config

type Config struct {
	ClientName string
	ConnInfo   string
}

type ConfigEnvI

type ConfigEnvI interface {
	ReplaceConfigWithEnvVariables(workspaceConfig []byte) (updatedConfig []byte)
}

ConfigEnvI is interface to inject env variables into config

type ConfigT

type ConfigT map[string]interface{}

ConfigT simple map config structure

type ConnectionDetails

type ConnectionDetails struct {
	SourceID                string `json:"sourceId"`
	DestinationID           string `json:"destinationId"`
	SourceTaskRunID         string `json:"sourceTaskRunId"`
	SourceJobID             string `json:"sourceJobId"`
	SourceJobRunID          string `json:"sourceJobRunId"`
	SourceDefinitionId      string `json:"sourceDefinitionId"`
	DestinationDefinitionId string `string:"destinationDefinitionId"`
	SourceCategory          string `json:"sourceCategory"`
	TransformationID        string `json:"transformationId"`
	TransformationVersionID string `json:"transformationVersionId"`
	TrackingPlanID          string `json:"trackingPlanId"`
	TrackingPlanVersion     int    `json:"trackingPlanVersion"`
}

func CreateConnectionDetail

func CreateConnectionDetail(sid, did, strid, sjid, sjrid, sdid, ddid, sc, trid, trvid, tpid string, tpv int) *ConnectionDetails

type EventSchemasI

type EventSchemasI interface {
	RecordEventSchema(writeKey, eventBatch string) bool
	GetEventModels(w http.ResponseWriter, r *http.Request)
	GetEventVersions(w http.ResponseWriter, r *http.Request)
	GetSchemaVersionMetadata(w http.ResponseWriter, r *http.Request)
	GetSchemaVersionMissingKeys(w http.ResponseWriter, r *http.Request)
	GetKeyCounts(w http.ResponseWriter, r *http.Request)
	GetEventModelMetadata(w http.ResponseWriter, r *http.Request)
	GetJsonSchemas(w http.ResponseWriter, r *http.Request)
}

EventSchemasI is interface to access EventSchemas feature

type GatewayBatchRequestT

type GatewayBatchRequestT struct {
	Batch []SingularEventT `json:"batch"`
}

GatewayBatchRequestT batch request structure

type InstanceDetails

type InstanceDetails struct {
	WorkspaceID string `json:"workspaceId"`
	Namespace   string `json:"namespace"`
	InstanceID  string `json:"instanceId"`
}

type Metric

type Metric struct {
	InstanceDetails
	ConnectionDetails
	PUDetails
	ReportMetadata
	StatusDetails []*StatusDetail `json:"reports"`
}

type PUDetails

type PUDetails struct {
	InPU       string `json:"inReportedBy"`
	PU         string `json:"reportedBy"`
	TerminalPU bool   `json:"terminalState"`
	InitialPU  bool   `json:"initialState"`
}

func CreatePUDetails

func CreatePUDetails(inPU, pu string, terminalPU, initialPU bool) *PUDetails

type PUReportedMetric

type PUReportedMetric struct {
	ConnectionDetails
	PUDetails
	StatusDetail *StatusDetail
}

type ReportByStatus

type ReportByStatus struct {
	InstanceDetails
	ConnectionDetails
	PUDetails
	ReportMetadata
	StatusDetail *StatusDetail
}

type ReportMetadata

type ReportMetadata struct {
	ReportedAt int64 `json:"reportedAt"`
}

type ReportingI

type ReportingI interface {
	WaitForSetup(ctx context.Context, clientName string) error
	AddClient(ctx context.Context, c Config)
	Report(metrics []*PUReportedMetric, txn *sql.Tx)
	IsPIIReportingDisabled(string) bool
}

ReportingI is interface to report metrics

type SingularEventT

type SingularEventT map[string]interface{}

SingularEventT single event structrue

type SingularEventWithReceivedAt

type SingularEventWithReceivedAt struct {
	SingularEvent SingularEventT
	ReceivedAt    time.Time
}

type StatusDetail

type StatusDetail struct {
	Status         string          `json:"state"`
	Count          int64           `json:"count"`
	StatusCode     int             `json:"statusCode"`
	SampleResponse string          `json:"sampleResponse"`
	SampleEvent    json.RawMessage `json:"sampleEvent"`
	EventName      string          `json:"eventName"`
	EventType      string          `json:"eventType"`
	ErrorType      string          `json:"errorType"`
	ViolationCount int64           `json:"violationCount"`
}

func CreateStatusDetail

func CreateStatusDetail(status string, count, violationCount int64, code int, resp string, event json.RawMessage, eventName, eventType, errorType string) *StatusDetail

type UserSuppression added in v1.2.0

type UserSuppression interface {
	IsSuppressedUser(workspaceID, userID, sourceID string) bool
}

UserSuppression is interface to access Suppress user feature

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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