mongo

package
v0.0.0-...-f632af9 Latest Latest
Warning

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

Go to latest
Published: Oct 23, 2019 License: MIT Imports: 15 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var AllEventsCalledTimes int
View Source
var DelEventsCalledTimes int

Functions

This section is empty.

Types

type AggregatedEvent

type AggregatedEvent struct {
	MetricName       string        `bson:"metricName"`
	ProjectId        bson.ObjectId `bson:"projectId"`
	MetricTime       time.Time     // metric time up to a minute
	MinDurationMs    float64
	MaxDurationMs    float64
	MedianDurationMs float64
	MiddleDurationMs float64
	EventCount       int
	Percentile90     float64
	Percentile75     float64
	// contains filtered or unexported fields
}

AggregatedEvent - aggregated mongo event document

func GroupBy

func GroupBy(group string, events []Event) (result []*AggregatedEvent, err error)

type AllEvents

type AllEvents struct {
	Meta struct {
		ProjectId  string `bson:"projectId"`
		MetricName string `bson:"metricName"`
	} `bson:"_id"`
	Events []Event `bson:"events"`
}

type DataStore

type DataStore interface {
	FilterEvents(from, to time.Time, metricName, project string) (events []Event, err error)
	AllEvents(from, to time.Time) (events []AllEvents, err error)
	SaveEvent(metricName, project string, durationMs float64) (err error)
	DelEvents(to time.Time) (err error)

	AddUser(login string, password string) (err error)
	GetUser(login string) (*User, error)
	UserDel(uid string) error

	AddProject(title string) error
	GetProject(title string) (project Project, err error)
	GetProjectById(id string) (project Project, err error)
	DelProject(id string) (err error)
}

type DataStoreMock

type DataStoreMock struct {
	FailMetricName         string
	ValidLogin             string
	ValidPassword          string
	DuplicatedProjectTitle string
}

func (DataStoreMock) AddProject

func (d DataStoreMock) AddProject(title string) (err error)

func (DataStoreMock) AddUser

func (d DataStoreMock) AddUser(login string, password string) (err error)

func (DataStoreMock) AllEvents

func (d DataStoreMock) AllEvents(from, to time.Time) (events []AllEvents, err error)

func (DataStoreMock) DelEvents

func (d DataStoreMock) DelEvents(to time.Time) (err error)

func (DataStoreMock) DelProject

func (d DataStoreMock) DelProject(id string) (err error)

func (DataStoreMock) FilterEvents

func (d DataStoreMock) FilterEvents(from, to time.Time, metricName, project string) (events []Event, err error)

func (DataStoreMock) GetProject

func (d DataStoreMock) GetProject(title string) (project Project, err error)

func (DataStoreMock) GetProjectById

func (d DataStoreMock) GetProjectById(id string) (project Project, err error)

func (DataStoreMock) GetUser

func (d DataStoreMock) GetUser(login string) (*User, error)

func (DataStoreMock) SaveEvent

func (d DataStoreMock) SaveEvent(metricName, project string, durationMs float64) (err error)

func (DataStoreMock) UserDel

func (d DataStoreMock) UserDel(uid string) error

type Event

type Event struct {
	MetricName string        `bson:"metricName"`
	MetricTime time.Time     `bson:"metricTime,omitempty"`
	ProjectId  bson.ObjectId `bson:"projectId"`
	DurationMs float64       `bson:"durationMs,omitempty"`
}

Event - mongo event document

type Mongo

type Mongo struct {
	Session *mgo.Session
	DbName  string
}

func New

func New(db string, url string) (engine *Mongo, err error)

func (*Mongo) AddProject

func (mg *Mongo) AddProject(title string) (err error)

func (*Mongo) AddUser

func (mg *Mongo) AddUser(login string, password string) (err error)

AddUser - adds row to database

func (*Mongo) AllEvents

func (mg *Mongo) AllEvents(from, to time.Time) (events []AllEvents, err error)

func (*Mongo) Clone

func (mg *Mongo) Clone() *mgo.Session

func (*Mongo) Collection

func (mg *Mongo) Collection(collection string, sess *mgo.Session) *mgo.Collection

func (*Mongo) CreateIndexes

func (mg *Mongo) CreateIndexes() (err error)

func (*Mongo) DelEvents

func (mg *Mongo) DelEvents(to time.Time) (err error)

func (*Mongo) DelProject

func (mg *Mongo) DelProject(id string) (err error)

func (*Mongo) DropDatabase

func (mg *Mongo) DropDatabase() error

DropDatabase - !run only for testing!

func (*Mongo) FilterEvents

func (mg *Mongo) FilterEvents(from, to time.Time, metricName, projectTitle string) (events []Event, err error)

func (*Mongo) GetProject

func (mg *Mongo) GetProject(title string) (project Project, err error)

func (*Mongo) GetProjectById

func (mg *Mongo) GetProjectById(id string) (project Project, err error)

func (*Mongo) GetUser

func (mg *Mongo) GetUser(login string) (*User, error)

GetUser - returns User by login

func (*Mongo) SaveEvent

func (mg *Mongo) SaveEvent(metricName, project string, durationMs float64) (err error)

func (*Mongo) UserDel

func (mg *Mongo) UserDel(uid string) error

UserDel - delete User by uid (mongodb field _id)

type Project

type Project struct {
	ID    bson.ObjectId `bson:"_id,omitempty"`
	Title string        `bson:"title"`
}

type User

type User struct {
	Id       bson.ObjectId `bson:"_id,omitempty"`
	Login    string
	Password string
}

Jump to

Keyboard shortcuts

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