2019-01-24 20:15:10 +00:00
|
|
|
// Copyright (C) 2019 Storj Labs, Inc.
|
2018-12-11 18:24:31 +00:00
|
|
|
// See LICENSE for copying information.
|
|
|
|
|
|
|
|
package main
|
|
|
|
|
|
|
|
import (
|
|
|
|
"fmt"
|
|
|
|
"sync"
|
|
|
|
"time"
|
|
|
|
)
|
|
|
|
|
|
|
|
// Printer is a MetricDest that writes to stdout
|
|
|
|
type Printer struct {
|
2019-01-01 09:41:27 +00:00
|
|
|
mu sync.Mutex
|
2018-12-11 18:24:31 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
// NewPrinter creates a Printer
|
|
|
|
func NewPrinter() *Printer {
|
|
|
|
return &Printer{}
|
|
|
|
}
|
|
|
|
|
|
|
|
// Metric implements MetricDest
|
2019-01-01 09:41:27 +00:00
|
|
|
func (p *Printer) Metric(application, instance string, key []byte, val float64, ts time.Time) error {
|
|
|
|
p.mu.Lock()
|
|
|
|
defer p.mu.Unlock()
|
|
|
|
|
2018-12-11 18:24:31 +00:00
|
|
|
_, err := fmt.Println(application, instance, string(key), val, ts.Unix())
|
|
|
|
return err
|
|
|
|
}
|
2020-03-11 12:43:25 +00:00
|
|
|
|
|
|
|
// PacketPrinter is a PacketDest that writes to stdout
|
|
|
|
type PacketPrinter struct {
|
|
|
|
mu sync.Mutex
|
|
|
|
}
|
|
|
|
|
|
|
|
// NewPacketPrinter returns a PacketPrinter
|
|
|
|
func NewPacketPrinter() *PacketPrinter {
|
|
|
|
return &PacketPrinter{}
|
|
|
|
}
|
|
|
|
|
|
|
|
// Packet implements PacketDest
|
|
|
|
func (p *PacketPrinter) Packet(data []byte, ts time.Time) error {
|
|
|
|
p.mu.Lock()
|
|
|
|
defer p.mu.Unlock()
|
|
|
|
|
|
|
|
_, err := fmt.Println("printing packet", len(data), ts.Unix())
|
|
|
|
return err
|
|
|
|
}
|