Versions in this module Expand all Collapse all v0 v0.1.6 May 29, 2025 v0.1.5 May 20, 2025 Changes in this version type DatabaseStore + func (d DatabaseStore) Persistent() bool type TelemetryCommon + Persistent func() bool type TelemetryCommonImpl + func (t *TelemetryCommonImpl) Persistent() bool type TelemetryProcessorImpl + func (p *TelemetryProcessorImpl) Persistent() bool v0.1.4 Apr 30, 2025 v0.1.3 Apr 30, 2025 v0.1.2 Apr 25, 2025 v0.1.1 Mar 26, 2025 v0.1.0 Mar 18, 2025 Changes in this version + type DatabaseStore struct + Conn *sql.DB + DataSource string + Driver string + func NewDatabaseStore(dbConfig config.DBConfig) (ds *DatabaseStore, err error) + func (d *DatabaseStore) Connect() (err error) + func (d *DatabaseStore) EnsureTablesExist() (err error) + func (d *DatabaseStore) GetBundleCount(reportIds ...any) (count int, err error) + func (d *DatabaseStore) GetBundleRowsInAReport(reportId string) (bundleRows []*TelemetryBundleRow, err error) + func (d *DatabaseStore) GetBundles(reportIds ...any) (bundleRowIds []int64, bundleRows []*TelemetryBundleRow, err error) + func (d *DatabaseStore) GetDataItemRowsInABundle(bundleId string) (itemRows []*TelemetryDataItemRow, err error) + func (d *DatabaseStore) GetItemCount(bundleIds ...any) (count int, err error) + func (d *DatabaseStore) GetItems(bundleIds ...any) (itemRowIds []int64, itemRows []*TelemetryDataItemRow, err error) + func (d *DatabaseStore) GetReportCount(ids ...any) (count int, err error) + func (d *DatabaseStore) GetReports(ids ...any) (reportRowIds []int64, reportRows []*TelemetryReportRow, err error) + func (d *DatabaseStore) Setup(dbcfg config.DBConfig) + func (d DatabaseStore) String() string + type TelemetryBundle struct + Footer TelemetryBundleFooter + Header TelemetryBundleHeader + TelemetryDataItems []TelemetryDataItem + func NewTelemetryBundle(clientId string, customerId string, tags types.Tags) (*TelemetryBundle, error) + func (tb *TelemetryBundle) UpdateChecksum() (err error) + func (tb *TelemetryBundle) VerifyChecksum() (err error) + type TelemetryBundleFooter struct + Checksum string + type TelemetryBundleHeader struct + BundleAnnotations []string + BundleClientId string + BundleCustomerId string + BundleId string + BundleTimeStamp string + type TelemetryBundleRow struct + BundleAnnotations string + BundleClientId string + BundleCustomerId string + BundleId string + BundleTimestamp string + Id int64 + ReportId sql.NullInt64 + func NewTelemetryBundleRow(clientId string, customerId string, tags types.Tags) (*TelemetryBundleRow, error) + func (b *TelemetryBundleRow) Delete(db *sql.DB) (err error) + func (b *TelemetryBundleRow) Exists(db *sql.DB) bool + func (b *TelemetryBundleRow) Insert(db *sql.DB, itemIDs []int64) (bundleId string, err error) + type TelemetryCommon interface + BundleCount func(bundleIds ...any) (int, error) + DeleteBundle func(bundleRow *TelemetryBundleRow) error + DeleteItem func(dataItemRow *TelemetryDataItemRow) error + DeleteReport func(reportRow *TelemetryReportRow) error + GetBundleRows func(reportIds ...any) ([]*TelemetryBundleRow, error) + GetItemRows func(bundleIds ...any) ([]*TelemetryDataItemRow, error) + GetReportRows func(ids ...any) ([]*TelemetryReportRow, error) + ItemCount func(bundleIds ...any) (int, error) + ReportCount func(ids ...any) (int, error) + type TelemetryCommonImpl struct + func (t *TelemetryCommonImpl) BundleCount(reportIds ...any) (count int, err error) + func (t *TelemetryCommonImpl) DeleteBundle(bundleRow *TelemetryBundleRow) (err error) + func (t *TelemetryCommonImpl) DeleteItem(itemRow *TelemetryDataItemRow) (err error) + func (t *TelemetryCommonImpl) DeleteReport(reportRow *TelemetryReportRow) (err error) + func (t *TelemetryCommonImpl) GetBundleRows(reportIds ...any) (bundleRows []*TelemetryBundleRow, err error) + func (t *TelemetryCommonImpl) GetItemRows(bundleIds ...any) (itemRows []*TelemetryDataItemRow, err error) + func (t *TelemetryCommonImpl) GetReportRows(ids ...any) (reportRows []*TelemetryReportRow, err error) + func (t *TelemetryCommonImpl) ItemCount(bundleIds ...any) (count int, err error) + func (t *TelemetryCommonImpl) ReportCount(ids ...any) (count int, err error) + type TelemetryDataItem struct + Footer TelemetryDataItemFooter + Header TelemetryDataItemHeader + TelemetryData json.RawMessage + func NewTelemetryDataItem(telemetry types.TelemetryType, tags types.Tags, content *types.TelemetryBlob) (*TelemetryDataItem, error) + func (tdi *TelemetryDataItem) UpdateChecksum() (err error) + func (tdi *TelemetryDataItem) VerifyChecksum() (err error) + type TelemetryDataItemFooter struct + Checksum string + type TelemetryDataItemHeader struct + TelemetryAnnotations []string + TelemetryId string + TelemetryTimeStamp string + TelemetryType string + type TelemetryDataItemRow struct + BundleId sql.NullInt64 + Compression sql.NullString + Id int64 + ItemAnnotations string + ItemChecksum string + ItemData []byte + ItemId string + ItemTimestamp string + ItemType string + func NewTelemetryDataItemRow(telemetry types.TelemetryType, tags types.Tags, content *types.TelemetryBlob) (itemRow *TelemetryDataItemRow, err error) + func (t *TelemetryDataItemRow) Delete(db *sql.DB) (err error) + func (t *TelemetryDataItemRow) Exists(db *sql.DB) bool + func (t *TelemetryDataItemRow) Insert(db *sql.DB) (err error) + type TelemetryProcessor interface + AddData func(telemetry types.TelemetryType, content *types.TelemetryBlob, tags types.Tags) (err error) + GenerateBundle func(clientId string, customerId string, tags types.Tags) (bundleRow *TelemetryBundleRow, err error) + GenerateReport func(clientId string, tags types.Tags) (reportRow *TelemetryReportRow, err error) + ToBundle func(bundleRow *TelemetryBundleRow) (bundle *TelemetryBundle, err error) + ToItem func(itemRow *TelemetryDataItemRow) (item *TelemetryDataItem, err error) + ToReport func(reportRow *TelemetryReportRow) (report *TelemetryReport, err error) + func NewTelemetryProcessor(cfg *config.DBConfig) (TelemetryProcessor, error) + type TelemetryProcessorImpl struct + func (p *TelemetryProcessorImpl) AddData(telemetry types.TelemetryType, marshaledData *types.TelemetryBlob, ...) (err error) + func (p *TelemetryProcessorImpl) BundleCount(reportIds ...any) (count int, err error) + func (p *TelemetryProcessorImpl) DeleteBundle(bundleRow *TelemetryBundleRow) (err error) + func (p *TelemetryProcessorImpl) DeleteItem(dataItemRow *TelemetryDataItemRow) (err error) + func (p *TelemetryProcessorImpl) DeleteReport(reportRow *TelemetryReportRow) (err error) + func (p *TelemetryProcessorImpl) GenerateBundle(clientId string, customerId string, tags types.Tags) (bundleRow *TelemetryBundleRow, err error) + func (p *TelemetryProcessorImpl) GenerateReport(clientId string, tags types.Tags) (reportRow *TelemetryReportRow, err error) + func (p *TelemetryProcessorImpl) GetBundleRows(reportIds ...any) (bundleRows []*TelemetryBundleRow, err error) + func (p *TelemetryProcessorImpl) GetItemRows(bundleIds ...any) (dataitemsRows []*TelemetryDataItemRow, err error) + func (p *TelemetryProcessorImpl) GetReportRows(ids ...any) (reportRows []*TelemetryReportRow, err error) + func (p *TelemetryProcessorImpl) ItemCount(bundleIds ...any) (count int, err error) + func (p *TelemetryProcessorImpl) ReportCount(ids ...any) (count int, err error) + func (p *TelemetryProcessorImpl) ToBundle(bundleRow *TelemetryBundleRow) (bundle *TelemetryBundle, err error) + func (p *TelemetryProcessorImpl) ToItem(itemRow *TelemetryDataItemRow) (item *TelemetryDataItem, err error) + func (p *TelemetryProcessorImpl) ToReport(reportRow *TelemetryReportRow) (report *TelemetryReport, err error) + type TelemetryReport struct + Footer TelemetryReportFooter + Header TelemetryReportHeader + TelemetryBundles []TelemetryBundle + func NewTelemetryReport(clientId string, tags types.Tags) (*TelemetryReport, error) + func (tr *TelemetryReport) UpdateChecksum() (err error) + func (tr *TelemetryReport) Validate() (err error) + func (tr *TelemetryReport) VerifyChecksum() (err error) + type TelemetryReportFooter struct + Checksum string + type TelemetryReportHeader struct + ReportAnnotations []string + ReportClientId string + ReportId string + ReportTimeStamp string + type TelemetryReportRow struct + Id int64 + ReportAnnotations string + ReportClientId string + ReportId string + ReportTimestamp string + func NewTelemetryReportRow(clientId string, tags types.Tags) (*TelemetryReportRow, error) + func (r *TelemetryReportRow) Delete(db *sql.DB) (err error) + func (r *TelemetryReportRow) Exists(db *sql.DB) bool + func (r *TelemetryReportRow) Insert(db *sql.DB, bundleIDs []int64) (reportId string, err error)