Documentation
      ¶
    
    
  
    
  
    Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
Types ¶
type MemoryStatistics ¶
type MemoryStatistics struct {
	sync.Mutex
	// Alloc is bytes of allocated heap objects.
	Alloc uint64 `json:"alloc"`
	// TotalAlloc is cumulative bytes allocated for heap objects.
	TotalAlloc uint64 `json:"totalAlloc"`
	// Sys is the total bytes of memory obtained from the OS.
	Sys uint64 `json:"sys"`
	// Lookups is the number of pointer lookups performed by the
	// runtime.
	Lookups uint64 `json:"lookups"`
	// Mallocs is the cumulative count of heap objects allocated.
	// The number of live objects is Mallocs - Frees.
	Mallocs uint64 `json:"mallocs"`
	// Frees is the cumulative count of heap objects freed.
	Frees uint64 `json:"frees"`
	// HeapAlloc is bytes of allocated heap objects.
	HeapAlloc uint64 `json:"heapAlloc"`
	// HeapSys is bytes of heap memory obtained from the OS.
	HeapSys uint64 `json:"heapSys"`
	// HeapIdle is bytes in idle (unused) spans.
	HeapIdle uint64 `json:"heapIdle"`
	// HeapInuse is bytes in in-use spans.
	HeapInuse uint64 `json:"heapInuse"`
	// HeapReleased is bytes of physical memory returned to the OS.
	HeapReleased uint64 `json:"heapReleased"`
	// HeapObjects is the number of allocated heap objects.
	HeapObjects uint64 `json:"heapObjects"`
	// NumGC is the number of completed GC cycles.
	NumGC uint32 `json:"numGC"`
}
    MemoryStatistics is a JSON-able version of runtime.MemStats
func (*MemoryStatistics) ToMap ¶
func (ms *MemoryStatistics) ToMap() map[string]interface{}
ToMap converts to a map[string]interface{}.
func (*MemoryStatistics) Update ¶
func (ms *MemoryStatistics) Update()
Update takes the most recent stats from runtime.
type MetricsManager ¶
type MetricsManager struct {
	sync.RWMutex
	Segment analytics.Client   `json:"-"`
	Logger  logrus.FieldLogger `json:"-"`
	ID               string            `json:"id"`
	UpTime           int64             `json:"uptime"`
	MemoryStatistics *MemoryStatistics `json:"memory"`
	BuildVersion     string            `json:"buildVersion"`
	BuildHash        string            `json:"buildHash"`
	BuildTime        string            `json:"buildTime"`
	InstanceID       string            `json:"instanceId"`
	ServiceName      string            `json:"serviceName"`
	// contains filtered or unexported fields
}
    MetricsManager helps with providing context on metrics.
func NewMetricsManager ¶
func NewMetricsManager( id string, enable bool, writeKey string, whitelistedURLs []string, logger logrus.FieldLogger, serviceName string, sampling float64, endpoint string, ) *MetricsManager
NewMetricsManager returns a new metrics manager.
func NewMetricsManagerWithConfig ¶
func NewMetricsManagerWithConfig( id string, enable bool, writeKey string, whitelistedURLs []string, logger logrus.FieldLogger, serviceName string, sampling float64, config analytics.Config, ) *MetricsManager
NewMetricsManagerWithConfig returns a new metrics manager and allows configuration.
func (*MetricsManager) CommitMemoryStatistics ¶
func (sw *MetricsManager) CommitMemoryStatistics()
CommitMemoryStatistics commits memory statistics to segment.
func (*MetricsManager) RegisterSegment ¶
func (sw *MetricsManager) RegisterSegment(version, hash, buildTime string)
RegisterSegment enables reporting to segment.
func (*MetricsManager) ServeHTTP ¶
func (sw *MetricsManager) ServeHTTP(rw http.ResponseWriter, r *http.Request, next http.HandlerFunc)
ServeHTTP is a middleware for sending meta information to segment.
 Click to show internal directories. 
   Click to hide internal directories.