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 UserSuppression
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) 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"` }
func CreateStatusDetail ¶
func CreateStatusDetail(status string, count int64, code int, resp string, event json.RawMessage, eventName, eventType string) *StatusDetail
type UserSuppression ¶ added in v1.2.0
UserSuppression is interface to access Suppress user feature
Click to show internal directories.
Click to hide internal directories.