Documentation
¶
Index ¶
- Constants
- Variables
- func AssertSameKeys(m1 map[string]*ConnectionDetails, m2 map[string]*StatusDetail)
- type Client
- type Config
- type ConfigEnvI
- type ConfigT
- type ConnectionDetails
- type EventSchemasI
- type GatewayBatchRequestT
- type InstanceDetails
- type Metric
- type PUDetails
- type PUReportedMetric
- type ReportByStatus
- type ReportMetadata
- type ReportingI
- type SingularEventT
- type SingularEventWithReceivedAt
- type StatusDetail
- type SuppressUserI
Constants ¶
View Source
const ( CORE_REPORTING_CLIENT = "core" WAREHOUSE_REPORTING_CLIENT = "warehouse" SUPPORTED_TRANSFORMER_API_VERSION = 2 DEFAULT_REPORTING_ENABLED = true DEFAULT_REPLAY_ENABLED = 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" )
Functions ¶
func AssertSameKeys ¶
func AssertSameKeys(m1 map[string]*ConnectionDetails, m2 map[string]*StatusDetail)
Types ¶
type ConfigEnvI ¶
type ConfigEnvI interface {
ReplaceConfigWithEnvVariables(workspaceConfig []byte) (updatedConfig []byte)
}
ConfigEnvI is interface to inject env variables into config
type ConnectionDetails ¶
type ConnectionDetails struct {
SourceID string `json:"sourceId"`
DestinationID string `json:"destinationId"`
SourceBatchID string `json:"sourceBatchId"`
SourceTaskID string `json:"sourceTaskId"`
SourceTaskRunID string `json:"sourceTaskRunId"`
SourceJobID string `json:"sourceJobId"`
SourceJobRunID string `json:"sourceJobRunId"`
SourceDefinitionId string `json:"sourceDefinitionId"`
DestinationDefinitionId string `string:"destinationDefinitionId"`
SourceCategory string `json:"sourceCategory"`
}
func CreateConnectionDetail ¶
func CreateConnectionDetail(sid, did, sbid, stid, strid, sjid, sjrid, sdid, ddid, sc string) *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 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 ¶
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)
AddClient(ctx context.Context, c Config)
Report(metrics []*PUReportedMetric, txn *sql.Tx)
}
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"`
}
func CreateStatusDetail ¶
func CreateStatusDetail(status string, count int64, code int, resp string, event json.RawMessage, eventName, eventType string) *StatusDetail
type SuppressUserI ¶
SuppressUserI is interface to access Suppress user feature
Click to show internal directories.
Click to hide internal directories.