pharos/measurement
Decoded measurement values.
telemetry_poller and pharos’s custom emitters dispatch raw telemetry
events; decode/2 lifts them into typed Measurement records. Memory
values arrive in bytes and are scaled to the configured MemoryUnit.
Types
pub type BeamMemoryStats {
BeamMemoryStats(
unit: MemoryUnit,
total: Float,
processes: Float,
processes_used: Float,
system: Float,
atom: Float,
atom_used: Float,
binary: Float,
code: Float,
ets: Float,
)
}
Constructors
-
BeamMemoryStats( unit: MemoryUnit, total: Float, processes: Float, processes_used: Float, system: Float, atom: Float, atom_used: Float, binary: Float, code: Float, ets: Float, )
pub type ClusterNodeStats {
ClusterNodeStats(self: String, nodes: List(String))
}
Constructors
-
ClusterNodeStats(self: String, nodes: List(String))
pub type HostDiskStats {
HostDiskStats(
status: HostProbeStatus,
unit: MemoryUnit,
total: Float,
used: Float,
available: Float,
)
}
Constructors
-
HostDiskStats( status: HostProbeStatus, unit: MemoryUnit, total: Float, used: Float, available: Float, )
pub type HostMemoryStats {
HostMemoryStats(
status: HostProbeStatus,
unit: MemoryUnit,
total: Float,
used: Float,
available: Float,
)
}
Constructors
-
HostMemoryStats( status: HostProbeStatus, unit: MemoryUnit, total: Float, used: Float, available: Float, )
Status of a scaffolded host probe: Implemented once a real probe lands,
Unimplemented while the host module is a placeholder.
pub type HostProbeStatus {
Implemented
Unimplemented
}
Constructors
-
Implemented -
Unimplemented
pub type Measurement {
BeamMemory(BeamMemoryStats)
BeamRunQueues(RunQueueStats)
BeamSystemCounts(SystemCountStats)
BeamPersistentTerm(PersistentTermStats)
ProcessInfo(ProcessInfoStats)
ClusterNodes(ClusterNodeStats)
HostMemory(HostMemoryStats)
HostDisk(HostDiskStats)
}
Constructors
-
BeamMemory(BeamMemoryStats) -
BeamRunQueues(RunQueueStats) -
BeamSystemCounts(SystemCountStats) -
BeamPersistentTerm(PersistentTermStats) -
ProcessInfo(ProcessInfoStats) -
ClusterNodes(ClusterNodeStats) -
HostMemory(HostMemoryStats) -
HostDisk(HostDiskStats)
Unit to express BEAM memory values in. Raw erlang:memory/0 returns
bytes; decode_with_unit/2 scales them to the requested unit.
pub type MemoryUnit {
Kb
Mb
Gb
}
Constructors
-
Kb -
Mb -
Gb
pub type PersistentTermStats {
PersistentTermStats(
count: Int,
unit: MemoryUnit,
memory: Float,
)
}
Constructors
-
PersistentTermStats(count: Int, unit: MemoryUnit, memory: Float)
pub type ProcessInfoStats {
ProcessInfoStats(
name: atom.Atom,
info: dict.Dict(atom.Atom, dynamic.Dynamic),
)
}
Constructors
-
ProcessInfoStats( name: atom.Atom, info: dict.Dict(atom.Atom, dynamic.Dynamic), )
pub type RunQueueStats {
RunQueueStats(total: Int, cpu: Int, io: Int)
}
Constructors
-
RunQueueStats(total: Int, cpu: Int, io: Int)
pub type SystemCountStats {
SystemCountStats(
process_count: Int,
atom_count: Int,
port_count: Int,
process_limit: Int,
atom_limit: Int,
port_limit: Int,
)
}
Constructors
-
SystemCountStats( process_count: Int, atom_count: Int, port_count: Int, process_limit: Int, atom_limit: Int, port_limit: Int, )
A telemetry event as dispatched by telemetry:execute/3.
pub type TelemetryEvent {
TelemetryEvent(
name: List(atom.Atom),
measurements: dict.Dict(atom.Atom, dynamic.Dynamic),
metadata: dict.Dict(atom.Atom, dynamic.Dynamic),
)
}
Constructors
-
TelemetryEvent( name: List(atom.Atom), measurements: dict.Dict(atom.Atom, dynamic.Dynamic), metadata: dict.Dict(atom.Atom, dynamic.Dynamic), )
Values
pub fn decode(
event: TelemetryEvent,
) -> Result(Measurement, String)
Decode a TelemetryEvent into a typed Measurement, scaling any memory
values to Mb by default.
pub fn decode_with_unit(
event: TelemetryEvent,
unit: MemoryUnit,
) -> Result(Measurement, String)
Decode a TelemetryEvent into a typed Measurement, scaling any memory
values to unit.