collector

package
v0.5.0 Latest Latest
Warning

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

Go to latest
Published: Feb 5, 2024 License: MIT Imports: 14 Imported by: 0

Documentation

Overview

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

Index

Constants

This section is empty.

Variables

View Source
var ErrNoData = errors.New("collector returned no data")

ErrNoData indicates the collector found no data to collect, but had no other error.

Functions

func IsNoDataError

func IsNoDataError(err error) bool

func ParseDispatcherMapping added in v0.2.0

func ParseDispatcherMapping(dispatcherMap *[]string, logger log.Logger) map[int]string

Types

type Collector

type Collector interface {
	// Get new metrics and expose them via prometheus registry.
	Update(conn net.Conn, ch chan<- prometheus.Metric) error
}

Collector is the interface a collector has to implement.

func NewCorePsaCollector added in v0.4.0

func NewCorePsaCollector(config *KamailioCollectorConfig, logger log.Logger) (Collector, error)

NewDispatcherListCollector returns a new Collector exposing core processes stats.

func NewCoreRuninfoCollector added in v0.3.0

func NewCoreRuninfoCollector(config *KamailioCollectorConfig, logger log.Logger) (Collector, error)

NewStatsFetchCollector returns a new Collector exposing core stats.

func NewCoreTCPInfoCollector

func NewCoreTCPInfoCollector(config *KamailioCollectorConfig, logger log.Logger) (Collector, error)

NewCoreStatsCollector returns a new Collector exposing core stats.

func NewDispatcherListCollector added in v0.2.0

func NewDispatcherListCollector(config *KamailioCollectorConfig, logger log.Logger) (Collector, error)

NewCoreStatsCollector returns a new Collector exposing core stats.

func NewDlgProfileCollector

func NewDlgProfileCollector(config *KamailioCollectorConfig, logger log.Logger) (Collector, error)

NewCoreStatsCollector returns a new Collector exposing core stats.

func NewDlgStatsActiveCollector

func NewDlgStatsActiveCollector(config *KamailioCollectorConfig, logger log.Logger) (Collector, error)

NewCoreStatsCollector returns a new Collector exposing core stats.

func NewHtableListTablesCollector added in v0.4.0

func NewHtableListTablesCollector(config *KamailioCollectorConfig, logger log.Logger) (Collector, error)

NewHtableListTablesCollector returns a new Collector exposing htables status stats.

func NewHtableStatsCollector added in v0.4.0

func NewHtableStatsCollector(config *KamailioCollectorConfig, logger log.Logger) (Collector, error)

NewHtableStatsCollector returns a new Collector exposing htable stats.

func NewPkgStatsCollector

func NewPkgStatsCollector(config *KamailioCollectorConfig, logger log.Logger) (Collector, error)

NewCoreStatsCollector returns a new Collector exposing core stats.

func NewRtpengineCollector

func NewRtpengineCollector(config *KamailioCollectorConfig, logger log.Logger) (Collector, error)

NewCoreStatsCollector returns a new Collector exposing core stats.

func NewSlStatsCollector

func NewSlStatsCollector(config *KamailioCollectorConfig, logger log.Logger) (Collector, error)

NewCoreStatsCollector returns a new Collector exposing core stats.

func NewStatsFetchCollector

func NewStatsFetchCollector(config *KamailioCollectorConfig, logger log.Logger) (Collector, error)

NewStatsFetchCollector returns a new Collector exposing core stats.

func NewTLSInfoCollector added in v0.5.0

func NewTLSInfoCollector(config *KamailioCollectorConfig, logger log.Logger) (Collector, error)

NewTLSInfoCollector returns a new Collector exposing TLS metrics.

func NewTmStatsCollector

func NewTmStatsCollector(config *KamailioCollectorConfig, logger log.Logger) (Collector, error)

NewCoreStatsCollector returns a new Collector exposing core stats.

type CorePsxCollector added in v0.4.0

type CorePsxCollector struct {
	// contains filtered or unexported fields
}

func (*CorePsxCollector) Update added in v0.4.0

func (c *CorePsxCollector) Update(conn net.Conn, metricChannel chan<- prometheus.Metric) error

type CoreRuninfoCollector added in v0.3.0

type CoreRuninfoCollector struct {
	// contains filtered or unexported fields
}

func (*CoreRuninfoCollector) Update added in v0.3.0

func (c *CoreRuninfoCollector) Update(conn net.Conn, metricChannel chan<- prometheus.Metric) error

type DialogConfig

type DialogConfig struct {
	Profiles *[]string
}

type DispatcherTarget added in v0.2.0

type DispatcherTarget struct {
	ID             int
	URI            string
	Flags          string
	Priority       int
	Status         float64
	Body           string
	Weight         int
	RWeight        int
	Socket         string
	SipTarget      string
	LatencyAvg     float64
	LatencyStd     float64
	LatencyEst     float64
	LatencyMax     float64
	LatencyTimeout float64
}

DispatcherTarget is a target of the dispatcher module.

type HtableListTablesCollector added in v0.4.0

type HtableListTablesCollector struct {
	// contains filtered or unexported fields
}

func (*HtableListTablesCollector) Update added in v0.4.0

func (c *HtableListTablesCollector) Update(conn net.Conn, metricChannel chan<- prometheus.Metric) error

type HtableStatsCollector added in v0.4.0

type HtableStatsCollector struct {
	// contains filtered or unexported fields
}

func (*HtableStatsCollector) Update added in v0.4.0

func (c *HtableStatsCollector) Update(conn net.Conn, metricChannel chan<- prometheus.Metric) error

type KamailioCollector

type KamailioCollector struct {
	Collectors map[string]Collector
	// contains filtered or unexported fields
}

KamailioCollector implements the prometheus.Collector interface.

func NewKamailioCollector

func NewKamailioCollector(config *KamailioCollectorConfig, logger log.Logger) (*KamailioCollector, error)

NewKamailioCollector creates a new NodeCollector.

func (KamailioCollector) Collect

func (n KamailioCollector) Collect(ch chan<- prometheus.Metric)

Collect implements the prometheus.Collector interface.

func (KamailioCollector) Describe

func (n KamailioCollector) Describe(ch chan<- *prometheus.Desc)

Describe implements the prometheus.Collector interface.

type KamailioCollectorConfig

type KamailioCollectorConfig struct {
	DialogProfile DialogConfig
	DispatcherMap map[int]string

	BinrpcURI  *string
	Timeout    *time.Duration
	Collectors map[string]bool
}

type PkgStatsEntry

type PkgStatsEntry struct {
	// contains filtered or unexported fields
}

type StatsFetchCollector

type StatsFetchCollector struct {
	// contains filtered or unexported fields
}

func (*StatsFetchCollector) Update

func (c *StatsFetchCollector) Update(conn net.Conn, metricChannel chan<- prometheus.Metric) error

type TLSInfoCollector added in v0.5.0

type TLSInfoCollector struct {
	// contains filtered or unexported fields
}

func (*TLSInfoCollector) Update added in v0.5.0

func (c *TLSInfoCollector) Update(conn net.Conn, metricChannel chan<- prometheus.Metric) error

Jump to

Keyboard shortcuts

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