storage

package
v1.7.0 Latest Latest
Warning

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

Go to latest
Published: Jul 25, 2021 License: MIT Imports: 13 Imported by: 0

Documentation

Index

Constants

View Source
const TerminalTimestamp = "15:04:05.999"

TerminalTimestamp is used as a format to display only the time.

Variables

This section is empty.

Functions

This section is empty.

Types

type ElasticSearch

type ElasticSearch struct {
	ES        *elasticsearch.Client
	IndexName string
	Cfg       *config.ES
}

ElasticSearch is for connecting and indexing data to elastic search.

func GetElasticSearch

func GetElasticSearch() *ElasticSearch

GetElasticSearch returns already prepared elastic search instance.

func InitElasticSearch

func InitElasticSearch(cfg *config.ES) (*ElasticSearch, error)

InitElasticSearch initializes elastic search connection with configured values.

func (*ElasticSearch) CommitTickers

func (e *ElasticSearch) CommitTickers(appCtx context.Context, data []Ticker) error

CommitTickers batch inserts input ticker data to elastic search.

func (*ElasticSearch) CommitTrades

func (e *ElasticSearch) CommitTrades(appCtx context.Context, data []Trade) error

CommitTrades batch inserts input trade data to elastic search.

type InfluxDB added in v1.7.0

type InfluxDB struct {
	WriteAPI  api.WriteAPIBlocking
	DeleteAPI api.DeleteAPI
	QuerryAPI api.QueryAPI
	Cfg       *config.InfluxDB
}

InfluxDB is for connecting and inserting data to InfluxDB.

func GetInfluxDB added in v1.7.0

func GetInfluxDB() *InfluxDB

GetInfluxDB returns already prepared influxdb instance.

func InitInfluxDB added in v1.7.0

func InitInfluxDB(cfg *config.InfluxDB) (*InfluxDB, error)

InitInfluxDB initializes influxdb connection with configured values.

func (*InfluxDB) CommitTickers added in v1.7.0

func (i *InfluxDB) CommitTickers(appCtx context.Context, data []Ticker) error

CommitTickers batch inserts input ticker data to influx db.

func (*InfluxDB) CommitTrades added in v1.7.0

func (i *InfluxDB) CommitTrades(appCtx context.Context, data []Trade) error

CommitTrades batch inserts input trade data to influx db.

type MySQL

type MySQL struct {
	DB  *sql.DB
	Cfg *config.MySQL
}

MySQL is for connecting and inserting data to mysql.

func GetMySQL

func GetMySQL() *MySQL

GetMySQL returns already prepared mysql instance.

func InitMySQL

func InitMySQL(cfg *config.MySQL) (*MySQL, error)

InitMySQL initializes mysql connection with configured values.

func (*MySQL) CommitTickers

func (m *MySQL) CommitTickers(appCtx context.Context, data []Ticker) error

CommitTickers batch inserts input ticker data to database.

func (*MySQL) CommitTrades

func (m *MySQL) CommitTrades(appCtx context.Context, data []Trade) error

CommitTrades batch inserts input trade data to database.

type Terminal

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

Terminal is for displaying data on terminal.

func GetTerminal

func GetTerminal() *Terminal

GetTerminal returns already prepared terminal instance.

func InitTerminal

func InitTerminal(out io.Writer) *Terminal

InitTerminal initializes terminal display. Output writer is always os.Stdout except in case of testing where file will be set as output terminal.

func (*Terminal) CommitTickers

func (t *Terminal) CommitTickers(data []Ticker)

CommitTickers batch outputs input ticker data to terminal.

func (*Terminal) CommitTrades

func (t *Terminal) CommitTrades(data []Trade)

CommitTrades batch outputs input trade data to terminal.

type Ticker

type Ticker struct {
	Exchange      string
	MktID         string
	MktCommitName string
	Price         float64
	Timestamp     time.Time
	InfluxVal     int64
}

Ticker represents final form of market ticker info received from exchange ready to store.

type Trade

type Trade struct {
	Exchange      string
	MktID         string
	MktCommitName string
	TradeID       string
	Side          string
	Size          float64
	Price         float64
	Timestamp     time.Time
	InfluxVal     int64
}

Trade represents final form of market trade info received from exchange ready to store.

Jump to

Keyboard shortcuts

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