hnsstats

package
v0.10.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: May 2, 2024 License: MIT Imports: 19 Imported by: 0

Documentation

Rendered for windows/amd64

Overview

Package hnsstats contains the hnsstats plugin. It gathers TCP statistics and counts number of packets/bytes forwarded or dropped in HNS and VFP from Windows nodes.

Copyright (c) Microsoft Corporation. Licensed under the MIT license.

Copyright (c) Microsoft Corporation. Licensed under the MIT license.

Index

Constants

View Source
const (
	HCN_ENDPOINT_STATE_CREATED = iota + 1
	HCN_ENDPOINT_STATE_ATTACHED
	HCN_ENDPOINT_STATE_ATTACHED_SHARING
	HCN_ENDPOINT_STATE_DETACHED
	HCN_ENDPOINT_STATE_DEGRADED
	HCN_ENDPOINT_STATE_DESTROYED
)
View Source
const (
	Name          api.PluginName = "hnsstats"
	HnsStatsEvent string         = "hnsstatscount"
	// From HNSStats API
	PacketsReceived        string = "win_packets_recv_count"
	PacketsSent            string = "win_packets_sent_count"
	BytesSent              string = "win_bytes_sent_count"
	BytesReceived          string = "win_bytes_recv_count"
	DroppedPacketsIncoming string = "win_packets_recv_drop_count"
	DroppedPacketsOutgoing string = "win_packets_sent_drop_count"
	DummyPort              string = "80" // Required arg in GetLocalEventAttributes
	// From VFP TCP counters
	// IN:
	// VFP TCP Packet Counters IN
	SynPacketCountIn    string = "win_tcp_recv_syn_packet_count"
	SynAckPacketCountIn string = "win_tcp_recv_syn_ack_packet_count"
	FinPacketCountIn    string = "win_tcp_recv_fin_packet_count"
	RstPacketCountIn    string = "win_tcp_recv_rst_packet_count"
	// VFP DROP Counters IN
	AclDropPacketCountIn string = "win_acl_recv_drop_packet_count"
	// VFP TCP Connections Counters IN
	VerifiedCountIn            string = "win_tcp_recv_verified_count"
	TimedOutCountIn            string = "win_tcp_recv_timedout_count"
	ResetCountIn               string = "win_tcp_recv_rst_count"
	ResetSynCountIn            string = "win_tcp_recv_rst_syn_count"
	ClosedFinCountIn           string = "win_tcp_recv_closed_fin_count"
	TcpHalfOpenTimeoutsCountIn string = "win_tcp_recv_half_open_timeout_count"
	TimeWaitExpiredCountIn     string = "win_tcp_recv_time_wait_expired_count"
	// OUT:
	// VFP TCP Packet Counters OUT
	SynPacketCountOut    string = "win_tcp_sent_syn_packet_count"
	SynAckPacketCountOut string = "win_tcp_sent_syn_ack_packet_count"
	FinPacketCountOut    string = "win_tcp_sent_fin_packet_count"
	RstPacketCountOut    string = "win_tcp_sent_rst_packet_count"
	// VFP DROP Counters Out
	AclDropPacketCountOut string = "win_acl_sent_drop_packet_count"
	// VFP TCP Connection Counters OUT
	VerifiedCountOut            string = "win_tcp_sent_verified_count"
	TimedOutCountOut            string = "win_tcp_sent_timedout_count"
	ResetCountOut               string = "win_tcp_sent_rst_count"
	ResetSynCountOut            string = "win_tcp_sent_rst_syn_count"
	ClosedFinCountOut           string = "win_tcp_sent_closed_fin_count"
	TcpHalfOpenTimeoutsCountOut string = "win_tcp_sent_half_open_timeout_count"
	TimeWaitExpiredCountOut     string = "win_tcp_sent_time_wait_expired_count"
)

Variables

This section is empty.

Functions

func New

func New(cfg *kcfg.Config) api.Plugin

New creates an hnsstats plugin.

Types

type Direction

type Direction int

IN/OUT Direction of vSwitch VFP port

const (
	OUT Direction = iota
	IN
)

type HnsStatsData

type HnsStatsData struct {
	IPAddress string
	// contains filtered or unexported fields
}

func (*HnsStatsData) HandlePluginEventSignals

func (h *HnsStatsData) HandlePluginEventSignals(attr []attribute.KeyValue, m metric.Meter, t trace.Tracer)

handles event signals such as incrementing a metric counter

func (*HnsStatsData) String

func (h *HnsStatsData) String() string

type VfpDirectedPortCounters

type VfpDirectedPortCounters struct {

	// Contains TCP-level counters
	TcpCounters VfpTcpStats
	// Contains generic drop counters
	DropCounters VfpPacketDropStats
	// contains filtered or unexported fields
}

type VfpPacketDropStats

type VfpPacketDropStats struct {
	AclDropPacketCount uint64
}

func (*VfpPacketDropStats) String

func (drops *VfpPacketDropStats) String() string

type VfpPortStatsData

type VfpPortStatsData struct {
	// IN counters
	In VfpDirectedPortCounters
	// OUT counters
	Out VfpDirectedPortCounters
}

func (*VfpPortStatsData) String

func (v *VfpPortStatsData) String() string

type VfpTcpConnectionStats

type VfpTcpConnectionStats struct {
	VerifiedCount            uint64
	TimedOutCount            uint64
	ResetCount               uint64
	ResetSynCount            uint64
	ClosedFinCount           uint64
	TcpHalfOpenTimeoutsCount uint64
	TimeWaitExpiredCount     uint64
}

type VfpTcpPacketStats

type VfpTcpPacketStats struct {
	SynPacketCount    uint64
	SynAckPacketCount uint64
	FinPacketCount    uint64
	RstPacketCount    uint64
}

type VfpTcpStats

type VfpTcpStats struct {
	ConnectionCounters VfpTcpConnectionStats
	PacketCounters     VfpTcpPacketStats
}

func (*VfpTcpStats) String

func (tcpCounters *VfpTcpStats) String() string

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL