Documentation ¶
Index ¶
- Constants
- func ClientOptions(cfg ClientConfig) clickhouse.Options
- func Connect(options *clickhouse.Options) (driver.Conn, error)
- func DeduplicateTable(ctx context.Context, opt DeduplicateTableOptions, ch *Client) error
- func InsertBridges(c *Client, ctx context.Context, bridges []*typespb.Bridge) (int, error)
- func InsertJobs(c *Client, ctx context.Context, jobs []*typespb.Job) (int, error)
- func InsertMetrics(c *Client, ctx context.Context, metrics []*typespb.Metric) (int, error)
- func InsertPipelines(c *Client, ctx context.Context, pipelines []*typespb.Pipeline) (int, error)
- func InsertSections(c *Client, ctx context.Context, sections []*typespb.Section) (int, error)
- func InsertTestCases(c *Client, ctx context.Context, cases []*typespb.TestCase) (int, error)
- func InsertTestReports(c *Client, ctx context.Context, reports []*typespb.TestReport) (int, error)
- func InsertTestSuites(c *Client, ctx context.Context, suites []*typespb.TestSuite) (int, error)
- func InsertTraces(c *Client, ctx context.Context, traces []*typespb.Trace) (int, error)
- func PrepareDeduplicateQuery(opt DeduplicateTableOptions) (string, map[string]string)
- func SelectPipelineMaxUpdatedAt(c *Client, ctx context.Context) (map[int64]float64, error)
- func SelectTableIDs[T int64 | string](c *Client, ctx context.Context, table string, column string) (map[T]struct{}, error)
- func SelectTraceSpanIDs(c *Client, ctx context.Context) (map[string]struct{}, error)
- func WithParameters(ctx context.Context, params map[string]string) context.Context
- type Cache
- func (c *Cache) UpdateBridges(data []int64, updated []bool)
- func (c *Cache) UpdateJobs(data []int64, updated []bool)
- func (c *Cache) UpdateLogEmbeddedMetrics(keys map[int64]bool)
- func (c *Cache) UpdatePipelines(data map[int64]float64, updated map[int64]bool)
- func (c *Cache) UpdateSections(keys map[int64]bool)
- func (c *Cache) UpdateTestCases(keys map[string]bool)
- func (c *Cache) UpdateTestReports(data []string, updated []bool)
- func (c *Cache) UpdateTestSuites(data []string, updated []bool)
- func (c *Cache) UpdateTraceSpans(data []string, updated []bool)
- type Client
- func (c *Client) CreateTables(ctx context.Context) error
- func (c *Client) Exec(ctx context.Context, query string, args ...any) error
- func (c *Client) InitCache(ctx context.Context) error
- func (c *Client) Ping(ctx context.Context) error
- func (c *Client) PrepareBatch(ctx context.Context, query string) (driver.Batch, error)
- func (c *Client) Select(ctx context.Context, dest any, query string, args ...any) error
- type ClientConfig
- type DeduplicateTableOptions
Constants ¶
const ( PipelinesTable string = "pipelines" JobsTable string = "jobs" SectionsTable string = "sections" BridgesTable string = "bridges" TestReportsTable string = "testreports" TestSuitesTable string = "testsuites" TestCasesTable string = "testcases" LogEmbeddedMetricsTable string = "metrics" TraceSpansTable string = "traces" )
Variables ¶
This section is empty.
Functions ¶
func ClientOptions ¶ added in v0.6.1
func ClientOptions(cfg ClientConfig) clickhouse.Options
func DeduplicateTable ¶
func DeduplicateTable(ctx context.Context, opt DeduplicateTableOptions, ch *Client) error
func InsertBridges ¶
func InsertMetrics ¶
func InsertPipelines ¶
func InsertSections ¶
func InsertTestCases ¶
func InsertTestReports ¶
func InsertTestSuites ¶
func InsertTraces ¶
func PrepareDeduplicateQuery ¶
func PrepareDeduplicateQuery(opt DeduplicateTableOptions) (string, map[string]string)
func SelectTableIDs ¶
func SelectTraceSpanIDs ¶
Types ¶
type Cache ¶
func (*Cache) UpdateBridges ¶
func (*Cache) UpdateJobs ¶
func (*Cache) UpdateLogEmbeddedMetrics ¶
UpdateLogEmbeddedMetrics updates the cache used to prevent inserting duplicate metrics. For each key in the given map we check whether it is already cached. If it is, the correspopnding map value is set to `false`, else it will be added to the cache and the correponding map value is set to `true`. In order to not require holding each individual metric ID in memory, we use the metric's job ID as a cache key.
func (*Cache) UpdatePipelines ¶
func (*Cache) UpdateSections ¶
UpdateSections updates the cache used to prevent inserting duplicate sections. For each key in the given map we check whether it is already cached. If it is, the correspopnding map value is set to `false`, else it will be added to the cache and the correponding map value is set to `true`. In order to not require holding each individual section ID in memory, we use the section's job ID as a cache key.
func (*Cache) UpdateTestCases ¶
UpdateTestCases updates the cache used to prevent inserting duplicate test cases. For each key in the given map we check whether it is already cached. If it is, the correspopnding map value is set to `false`, else it will be added to the cache and the correponding map value is set to `true`. In order to not require holding each individual test case ID in memory, we use the test case's test suite ID as a cache key.