github.com/igggame/nebulas-go@v2.1.0+incompatible/net/metrics.go (about)

     1  // Copyright (C) 2018 go-nebulas authors
     2  //
     3  // This file is part of the go-nebulas library.
     4  //
     5  // the go-nebulas library is free software: you can redistribute it and/or modify
     6  // it under the terms of the GNU General Public License as published by
     7  // the Free Software Foundation, either version 3 of the License, or
     8  // (at your option) any later version.
     9  //
    10  // the go-nebulas library is distributed in the hope that it will be useful,
    11  // but WITHOUT ANY WARRANTY; without even the implied warranty of
    12  // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    13  // GNU General Public License for more details.
    14  //
    15  // You should have received a copy of the GNU General Public License
    16  // along with the go-nebulas library.  If not, see <http://www.gnu.org/licenses/>.
    17  //
    18  
    19  package net
    20  
    21  import (
    22  	"fmt"
    23  
    24  	metrics "github.com/nebulasio/go-nebulas/metrics"
    25  )
    26  
    27  // Metrics map for different in/out network msg types
    28  var (
    29  	metricsPacketsIn = metrics.NewMeter("neb.net.packets.in")
    30  	metricsBytesIn   = metrics.NewMeter("neb.net.bytes.in")
    31  
    32  	metricsPacketsOut = metrics.NewMeter("neb.net.packets.out")
    33  	metricsBytesOut   = metrics.NewMeter("neb.net.bytes.out")
    34  )
    35  
    36  func metricsPacketsInByMessageName(messageName string, size uint64) {
    37  	meter := metrics.NewMeter(fmt.Sprintf("neb.net.packets.in.%s", messageName))
    38  	meter.Mark(1)
    39  
    40  	meter = metrics.NewMeter(fmt.Sprintf("neb.net.bytes.in.%s", messageName))
    41  	meter.Mark(int64(size))
    42  }
    43  
    44  func metricsPacketsOutByMessageName(messageName string, size uint64) {
    45  	meter := metrics.NewMeter(fmt.Sprintf("neb.net.packets.out.%s", messageName))
    46  	meter.Mark(1)
    47  
    48  	meter = metrics.NewMeter(fmt.Sprintf("neb.net.bytes.out.%s", messageName))
    49  	meter.Mark(int64(size))
    50  }