8000 GitHub - asecurityteam/component-connstate: Settings component for collecting HTTP server metrics
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

asecurityteam/component-connstate

Repository files navigation

component-connstate - Settings component for collecting HTTP server metrics

GoDoc

Bugs Code Smells Coverage Duplicated Lines (%) Lines of Code Maintainability Rating Quality Gate Status Reliability Rating Security Rating Technical Debt Vulnerabilities

autoauto- [component-connstate - Settings component for collecting HTTP server metrics](#component-connstate---settings-component-for-collecting-http-server-metrics)auto - [Overview](#overview)auto - [Quick Start](#quick-start)auto - [Status](#status)auto - [Contributing](#contributing)auto - [Building And Testing](#building-and-testing)auto - [License](#license)auto - [Contributing Agreement](#contributing-agreement)autoauto

Overview

This is a settings that enables constructing a metrics gathering component that integrates with the http.Server.ConnState hook. It works by tracking the state of all active connections and any state changes of a connection while the server runs.

Quick Start

package main

import (
    "context"
    "net/http"

    stat "github.com/asecurityteam/component-stat"
    stat "github.com/asecurityteam/component-connstate"
    "github.com/asecurityteam/settings/v2"
)

func main() {
    ctx := context.Background()
    envSource := settings.NewEnvSource(os.Environ())

    s, _ := stat.New(ctx, envSource)
    cs, _ := connstate.Load(ctx, envSource, connstate.NewComponent().WithStat(s))
    defer cs.Close()

    srv := &http.Server{
        ConnState: cs.HandleEvent,
    }
    go cs.Report()

    _ = srv.ListenAndServe()
}

Status

This project is in incubation which means we are not yet operating this tool in production and the interfaces are subject to change.

Contributing

Building And Testing

We publish a docker image called SDCLI that bundles all of our build dependencies. It is used by the included Makefile to help make building and testing a bit easier. The following actions are available through the Makefile:

  • make dep

    Install the project dependencies into a vendor directory

  • make lint

    Run our static analysis suite

  • make test

    Run unit tests and generate a coverage artifact

  • make integration

    Run integration tests and generate a coverage artifact

  • make coverage

    Report the combined coverage for unit and integration tests

License

This project is licensed under Apache 2.0. See LICENSE.txt for details.

Contributing Agreement

Atlassian requires signing a contributor's agreement before we can accept a patch. If you are an individual you can fill out the individual CLA. If you are contributing on behalf of your company then please fill out the corporate CLA.

About

Settings component for collecting HTTP server metrics

Resources

License

Code of conduct

Stars

Watchers

Forks

Packages

No packages published

Contributors 14

0