Documentation
¶
Index ¶
- type CPUStatistics
- type CoreStatistics
- type DataPointsInfo
- type FetchDataPoints
- type FunctionMetrics
- type FunctionTraceDetails
- type GoRoutinesStatistic
- type Health
- type HealthFields
- type LoadStatistics
- type MemoryStatistics
- type Profiles
- type RawMemStatsRecords
- type Record
- type ReportsRequest
- type ServiceHealth
- type ServiceHealthThresholds
- type ServiceInfo
- type ServiceStats
- type SystemHealthInPercent
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type CPUStatistics ¶
type CPUStatistics struct {
TotalCores float64 `json:"total_cores"`
TotalLogicalCores float64 `json:"total_logical_cores"`
CoresUsedBySystem float64 `json:"cores_used_by_system"`
CoresUsedByService float64 `json:"cores_used_by_service"`
CoresUsedByServiceInPercent string `json:"cores_used_by_service_in_percent"`
CoresUsedBySystemInPercent string `json:"cores_used_by_system_in_percent"`
}
CPUStatistics represents the CPU statistics of the service.
type CoreStatistics ¶
CoreStatistics represents the core statistics of the service.
type DataPointsInfo ¶
type DataPointsInfo struct {
FieldName string `json:"field_name"`
Data []*tstorage.DataPoint `json:"data_points"`
}
DataPointsInfo is the struct to store the data points information
type FetchDataPoints ¶
type FetchDataPoints struct {
FieldName []string `json:"field_name"`
StartTime string `json:"start_time"` // "2006-01-02T15:04:05Z07:00"
EndTime string `json:"end_time"` // "2006-01-02T15:04:05Z07:00"
}
FetchDataPoints is the struct to fetch the data points from the storage
type FunctionMetrics ¶ added in v0.0.2
type FunctionMetrics struct {
FunctionLastRanAt time.Time `json:"function_last_ran_at"`
CPUProfileFilePath string `json:"cpu_profile_file_path"`
MemProfileFilePath string `json:"mem_profile_file_path"`
MemoryUsage uint64 `json:"memory_usage"`
GoroutineCount int `json:"goroutine_count"`
ExecutionTime time.Duration `json:"execution_time"`
}
FunctionMetrics represents the function metrics.
type FunctionTraceDetails ¶ added in v0.0.2
type FunctionTraceDetails struct {
FunctionName string `json:"function_name"`
CoreProfile Profiles `json:"core_profile"`
FunctionCodeTrace string `json:"function_code_trace"`
}
FunctionTraceDetails represents the function trace details.
type GoRoutinesStatistic ¶
type GoRoutinesStatistic struct {
NumberOfGoroutines int `json:"number_of_goroutines"`
StackView []string `json:"stack_view"`
}
GoRoutinesStatistic represents the Go routines statistics.
type Health ¶
type Health struct {
Percent float64 `json:"percent"`
Healthy bool `json:"healthy"`
Message string `json:"message"`
IconMsg string `json:"icon_msg"`
}
Health represents the health of the service.
type HealthFields ¶ added in v0.0.2
type LoadStatistics ¶
type LoadStatistics struct {
ServiceCPULoad string `json:"service_cpu_load"`
SystemCPULoad string `json:"system_cpu_load"`
TotalCPULoad string `json:"total_cpu_load"`
ServiceMemLoad string `json:"service_memory_load"`
SystemMemLoad string `json:"system_memory_load"`
TotalMemLoad string `json:"total_memory_load"`
OverallLoadOfService string `json:"overall_load_of_service"` // Final load of the service
ServiceDiskLoad string `json:"service_disk_load"`
SystemDiskLoad string `json:"system_disk_load"`
TotalDiskLoad string `json:"total_disk_load"`
}
LoadStatistics represents the load statistics of the service.
type MemoryStatistics ¶
type MemoryStatistics struct {
TotalSystemMemory string `json:"total_system_memory"`
MemoryUsedBySystem string `json:"memory_used_by_system"`
MemoryUsedByService string `json:"memory_used_by_service"`
AvailableMemory string `json:"available_memory"`
GCPauseDuration string `json:"gc_pause_duration"`
StackMemoryUsage string `json:"stack_memory_usage"`
TotalSwapMemory string `json:"total_swap_memory"`
FreeSwapMemory string `json:"free_swap_memory"`
MemStatsRecords []Record `json:"mem_stats_records"` // List of memory statistic records.
RawMemStatsRecords []RawMemStatsRecords `json:"raw_mem_stats_records"` // RawMemStatsRecords holds a list of raw memory statistic records.
}
MemoryStatistics represents the memory statistics of the service.
type RawMemStatsRecords ¶
type RawMemStatsRecords struct {
RecordName string `json:"record_name"`
RecordValue float64 `json:"record_value"`
}
RawMemStatsRecords holds a list of raw memory statistic records.
type Record ¶
type Record struct {
Name string `json:"record_name"`
Description string `json:"record_description"`
Value interface{} `json:"record_value"`
Unit string `json:"record_unit,omitempty"` // Added Unit to support different units like bytes, MB, GB, etc.
}
Record represents a single memory statistic record.
type ReportsRequest ¶
type ReportsRequest struct {
Topic string `json:"topic"`
StartTime string `json:"start_time"` // "2006-01-02T15:04:05Z07:00"
EndTime string `json:"end_time"` // "2006-01-02T15:04:05Z07:00"
TimeFrame string `json:"time_frame"`
}
ReportsRequest is the struct to store the reports request
type ServiceHealth ¶
type ServiceHealth struct {
SystemHealth Health `json:"system_health"`
ServiceHealth Health `json:"service_health"`
}
ServiceHealth represents the health of the service.
type ServiceHealthThresholds ¶
type ServiceHealthThresholds struct {
MaxCPUUsage float64 `json:"max_cpu_usage"` // Default is 80%
MaxMemoryUsage float64 `json:"max_memory_usage"` // Default is 80%
MaxGoRoutines int `json:"max_go_routines"` // Default is 1000
}
ServiceHealthThresholds is the struct to store the service health thresholds
type ServiceInfo ¶
type ServiceInfo struct {
ServiceName string `json:"service_name"`
ServiceStartTime time.Time `json:"service_start_time"`
GoVersion string `json:"go_version"`
ProcessId int32 `json:"process_id"`
}
ServiceInfo is the struct to store the service information
type ServiceStats ¶
type ServiceStats struct {
CoreStatistics CoreStatistics `json:"core_statistics"` // Core Statistics
LoadStatistics LoadStatistics `json:"load_statistics"` // Load Statistics
CPUStatistics CPUStatistics `json:"cpu_statistics"` // CPU Statistics
MemoryStatistics MemoryStatistics `json:"memory_statistics"` // Memory Statistics
// Additional Metrics
HeapAllocByService string `json:"heap_alloc_by_service"`
HeapAllocBySystem string `json:"heap_alloc_by_system"`
TotalAllocByService string `json:"total_alloc_by_service"`
TotalMemoryByOS string `json:"total_memory_by_os"`
DiskIO struct {
ReadBytes uint64 `json:"read_bytes"`
WriteBytes uint64 `json:"write_bytes"`
} `json:"disk_io"` // Disk Use percentage
NetworkIO struct {
BytesSent float64 `json:"bytes_sent"`
BytesReceived float64 `json:"bytes_received"`
} `json:"network_io"`
// Health
Health ServiceHealth `json:"health"`
}
ServiceStats represents the final statistics of the service.
type SystemHealthInPercent ¶
type SystemHealthInPercent struct {
SystemHealth HealthFields `json:"system_health_percentage"`
ServiceHealth HealthFields `json:"service_health_percentage"`
}
SystemHealthInPercent is the struct to store the system health in percentage