reporters

package
v0.29.6 Latest Latest
Warning

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

Go to latest
Published: Jan 19, 2023 License: AGPL-3.0 Imports: 30 Imported by: 0

Documentation

Index

Constants

View Source
const (
	CBORTagInlineCollisionGroup   = 253
	CBORTagExternalCollisionGroup = 254
)
View Source
const FungibleTokenTrackerReportPrefix = "fungible_token_report"

Variables

This section is empty.

Functions

func FlowTokenTypeID

func FlowTokenTypeID(chain flow.Chain) string

func NewBalanceReporter

func NewBalanceReporter(chain flow.Chain, view state.View) *balanceProcessor

Types

type AccountReporter

type AccountReporter struct {
	Log   zerolog.Logger
	RWF   ReportWriterFactory
	Chain flow.Chain
}

AccountReporter iterates through registers keeping a map of register sizes reports on storage metrics

func (*AccountReporter) Name

func (r *AccountReporter) Name() string

func (*AccountReporter) Report

func (r *AccountReporter) Report(payload []ledger.Payload, commit ledger.State) error

type AtreeReporter

type AtreeReporter struct {
	Log zerolog.Logger
	RWF ReportWriterFactory
}

AtreeReporter iterates payloads and generates payload and atree stats.

func (*AtreeReporter) Name

func (r *AtreeReporter) Name() string

func (*AtreeReporter) Report

func (r *AtreeReporter) Report(payloads []ledger.Payload, commit ledger.State) error

type ExportReport

type ExportReport struct {
	EpochCounter            uint64
	PreviousStateCommitment flow.StateCommitment
	CurrentStateCommitment  flow.StateCommitment
	ReportSucceeded         bool
}

type ExportReporter

type ExportReporter struct {
	// contains filtered or unexported fields
}

ExportReporter writes data that can be leveraged outside of extraction

func NewExportReporter

func NewExportReporter(
	logger zerolog.Logger,
	chain flow.Chain,
	getBeforeMigrationSCFunc GetStateCommitmentFunc,
) *ExportReporter

func (*ExportReporter) Name

func (e *ExportReporter) Name() string

func (*ExportReporter) Report

func (e *ExportReporter) Report(payload []ledger.Payload, commit ledger.State) error

type FungibleTokenTracker

type FungibleTokenTracker struct {
	// contains filtered or unexported fields
}

FungibleTokenTracker iterates through stored cadence values over all accounts and check for any value with the given resource typeID

func NewFungibleTokenTracker

func NewFungibleTokenTracker(logger zerolog.Logger, rwf ReportWriterFactory, chain flow.Chain, vaultTypeIDs []string) *FungibleTokenTracker

func (*FungibleTokenTracker) Name

func (r *FungibleTokenTracker) Name() string

func (*FungibleTokenTracker) Report

func (r *FungibleTokenTracker) Report(payloads []ledger.Payload, commit ledger.State) error

Report creates a fungible_token_report_*.json file that contains data on all fungible token Vaults in the state commitment. I recommend using gojq to browse through the data, because of the large uint64 numbers which jq won't be able to handle.

type GetStateCommitmentFunc

type GetStateCommitmentFunc func() flow.StateCommitment

type ReportFileWriter

type ReportFileWriter struct {
	// contains filtered or unexported fields
}

func (*ReportFileWriter) Close

func (r *ReportFileWriter) Close()

func (*ReportFileWriter) Write

func (r *ReportFileWriter) Write(dataPoint interface{})

type ReportFileWriterFactory

type ReportFileWriterFactory struct {
	// contains filtered or unexported fields
}

func NewReportFileWriterFactory

func NewReportFileWriterFactory(outputDir string, log zerolog.Logger) *ReportFileWriterFactory

func (*ReportFileWriterFactory) Filename

func (r *ReportFileWriterFactory) Filename(dataNamespace string) string

func (*ReportFileWriterFactory) ReportWriter

func (r *ReportFileWriterFactory) ReportWriter(dataNamespace string) ReportWriter

type ReportNilWriter

type ReportNilWriter struct {
}

ReportNilWriter does nothing. Can be used as the final fallback writer

func (ReportNilWriter) Close

func (r ReportNilWriter) Close()

func (ReportNilWriter) Write

func (r ReportNilWriter) Write(_ interface{})

type ReportWriter

type ReportWriter interface {
	Write(dataPoint interface{})
	Close()
}

ReportWriter writes data from reports

func NewReportFileWriter

func NewReportFileWriter(fileName string, log zerolog.Logger) ReportWriter

type ReportWriterFactory

type ReportWriterFactory interface {
	ReportWriter(dataNamespace string) ReportWriter
}

TODO janezp: we should be able to swithch the report writer to write to a database.

type TokenDataPoint

type TokenDataPoint struct {
	// Path is the storage path of the composite the vault was found in
	Path string `json:"path"`
	// Address is the owner of the composite the vault was found in
	Address string `json:"address"`
	// Balance is the balance of the flow vault
	Balance uint64 `json:"balance"`
	// token type
	TypeID string `json:"type_id"`
}

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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