Documentation
¶
Index ¶
- Constants
- func NewPlugin() plugin.Plugin
- func RegisterMetricRoutes(router fiber.Router, db database.Database, config *Config, writer *batchWriter)
- func RegisterRoutes(router fiber.Router, db database.Database, config *Config, writer *batchWriter)
- type Config
- type Metric
- type MetricConverter
- func (c *MetricConverter) CreateDTOToModel(dto MetricCreateDTO) Metric
- func (c *MetricConverter) ModelToResponseDTO(model Metric) MetricResponseDTO
- func (c *MetricConverter) ModelsToResponseDTOs(models []Metric) []MetricResponseDTO
- func (c *MetricConverter) UpdateDTOToModel(dto MetricUpdateDTO) Metric
- type MetricCreateDTO
- type MetricHooks
- type MetricResource
- type MetricResponseDTO
- type MetricUpdateDTO
- type MetricsPlugin
- func (p *MetricsPlugin) Close(ctx context.Context) error
- func (p *MetricsPlugin) Dependencies() []string
- func (p *MetricsPlugin) GetOpenAPIResources() []plugin.OpenAPIResource
- func (p *MetricsPlugin) Handler() fiber.Handler
- func (p *MetricsPlugin) Initialize(config map[string]interface{}) error
- func (p *MetricsPlugin) MigrationDependencies() []string
- func (p *MetricsPlugin) MigrationSource() interface{}
- func (p *MetricsPlugin) Name() string
- func (p *MetricsPlugin) SetupEndpoints(router fiber.Router) error
Constants ¶
View Source
const MaxFilterValuesPerField = 50
Variables ¶
This section is empty.
Functions ¶
func RegisterMetricRoutes ¶
Types ¶
type Config ¶
type Config struct {
Database database.Database
AllowedTypes []string `json:"allowed_types" yaml:"allowed_types"`
MaxKeyLength int `json:"max_key_length" yaml:"max_key_length"`
OnlyPositiveValues bool `json:"only_positive_values" yaml:"only_positive_values"`
PaginationLimit int `json:"pagination_limit" yaml:"pagination_limit"`
MaxPaginationLimit int `json:"max_pagination_limit" yaml:"max_pagination_limit"`
}
func DefaultConfig ¶
func DefaultConfig() Config
func (*Config) IsAllowedType ¶
type Metric ¶
type Metric struct {
Id string `json:"id,omitempty" db:"id"`
Resource string `json:"resource" db:"resource"`
ResourceId string `json:"resourceId" db:"resource_id"`
Key string `json:"key" db:"name"`
Value int `json:"value" db:"value"`
CreatedAt *time.Time `json:"createdAt,omitempty" db:"created_at"`
}
type MetricConverter ¶ added in v0.1.5
type MetricConverter struct{}
func (*MetricConverter) CreateDTOToModel ¶ added in v0.1.5
func (c *MetricConverter) CreateDTOToModel(dto MetricCreateDTO) Metric
func (*MetricConverter) ModelToResponseDTO ¶ added in v0.1.5
func (c *MetricConverter) ModelToResponseDTO(model Metric) MetricResponseDTO
func (*MetricConverter) ModelsToResponseDTOs ¶ added in v0.1.5
func (c *MetricConverter) ModelsToResponseDTOs(models []Metric) []MetricResponseDTO
func (*MetricConverter) UpdateDTOToModel ¶ added in v0.1.5
func (c *MetricConverter) UpdateDTOToModel(dto MetricUpdateDTO) Metric
type MetricCreateDTO ¶ added in v0.1.5
type MetricHooks ¶ added in v0.1.5
type MetricHooks struct {
// contains filtered or unexported fields
}
func NewMetricHooks ¶ added in v0.1.5
func NewMetricHooks(config *Config) *MetricHooks
func (*MetricHooks) CreateHook ¶ added in v0.1.5
func (h *MetricHooks) CreateHook(c fiber.Ctx, dto MetricCreateDTO, model *Metric) error
func (*MetricHooks) GetAllHook ¶ added in v0.1.5
func (h *MetricHooks) GetAllHook(c fiber.Ctx, conditions *[]query.Condition, orderBy *[]crud.OrderByClause) error
func (*MetricHooks) UpdateHook ¶ added in v0.1.5
func (h *MetricHooks) UpdateHook(c fiber.Ctx, dto MetricUpdateDTO, model *Metric) error
type MetricResource ¶
type MetricResource struct {
// contains filtered or unexported fields
}
func (*MetricResource) Create ¶
func (r *MetricResource) Create(c fiber.Ctx) error
Create records a metric without blocking on the database: it validates the request synchronously (preserving the 400s the sync path returned) and hands the row to the async batch writer, then answers 201 from the in-memory model.
type MetricResponseDTO ¶ added in v0.1.5
type MetricUpdateDTO ¶ added in v0.1.5
type MetricUpdateDTO struct {
Value int `json:"value"`
}
type MetricsPlugin ¶
type MetricsPlugin struct {
// contains filtered or unexported fields
}
func (*MetricsPlugin) Close ¶ added in v0.6.0
func (p *MetricsPlugin) Close(ctx context.Context) error
Close flushes any buffered metrics and stops the background writer. Hosts must call it during graceful shutdown (after the HTTP server has drained) so no accepted metric is lost.
func (*MetricsPlugin) Dependencies ¶
func (p *MetricsPlugin) Dependencies() []string
func (*MetricsPlugin) GetOpenAPIResources ¶
func (p *MetricsPlugin) GetOpenAPIResources() []plugin.OpenAPIResource
func (*MetricsPlugin) Handler ¶
func (p *MetricsPlugin) Handler() fiber.Handler
func (*MetricsPlugin) Initialize ¶
func (p *MetricsPlugin) Initialize(config map[string]interface{}) error
func (*MetricsPlugin) MigrationDependencies ¶
func (p *MetricsPlugin) MigrationDependencies() []string
func (*MetricsPlugin) MigrationSource ¶
func (p *MetricsPlugin) MigrationSource() interface{}
func (*MetricsPlugin) Name ¶
func (p *MetricsPlugin) Name() string
func (*MetricsPlugin) SetupEndpoints ¶
func (p *MetricsPlugin) SetupEndpoints(router fiber.Router) error
Source Files
¶
Click to show internal directories.
Click to hide internal directories.