func (s *commonDevopsSimulator) Finished() bool {
	return s.madePoints >= s.maxPoints
}
Finished tells whether we have simulated all the necessary points
package devops
import (
	"github.com/timescale/tsbs/pkg/data"
	"github.com/timescale/tsbs/pkg/data/usecases/common"
	"time"
)
type HostContext struct {
	id    int
	start time.Time
	metricCount  uint64  
	epochsToLive uint64  
}
type commonDevopsSimulatorConfig struct {
	Start time.Time
	End time.Time
	InitHostCount uint64
	HostCount uint64
	HostConstructor func(ctx *HostContext) Host
	MaxMetricCount uint64
}
func NewHostCtx(id int, start time.Time) *HostContext {
	return &HostContext{id, start, 0, 0}
}
func NewHostCtxTime(start time.Time) *HostContext {
	return &HostContext{0, start, 0, 0}
}
func calculateEpochs(c commonDevopsSimulatorConfig, interval time.Duration) uint64 {
	return uint64(c.End.Sub(c.Start).Nanoseconds() / interval.Nanoseconds())
}
type commonDevopsSimulator struct {
	madePoints uint64
	maxPoints  uint64
	hostIndex uint64
	hosts     []Host
	epoch      uint64
	epochs     uint64
	epochHosts uint64
	initHosts  uint64
	timestampStart time.Time
	timestampEnd   time.Time
	interval       time.Duration
}