code.vegaprotocol.io/vega@v0.79.0/datanode/gateway/graphql/statistics.go (about)

     1  // Copyright (C) 2023 Gobalsky Labs Limited
     2  //
     3  // This program is free software: you can redistribute it and/or modify
     4  // it under the terms of the GNU Affero General Public License as
     5  // published by the Free Software Foundation, either version 3 of the
     6  // License, or (at your option) any later version.
     7  //
     8  // This program is distributed in the hope that it will be useful,
     9  // but WITHOUT ANY WARRANTY; without even the implied warranty of
    10  // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    11  // GNU Affero General Public License for more details.
    12  //
    13  // You should have received a copy of the GNU Affero General Public License
    14  // along with this program.  If not, see <http://www.gnu.org/licenses/>.
    15  
    16  package gql
    17  
    18  import (
    19  	"context"
    20  	"strconv"
    21  	"time"
    22  
    23  	"code.vegaprotocol.io/vega/core/vegatime"
    24  	vega "code.vegaprotocol.io/vega/protos/vega/api/v1"
    25  )
    26  
    27  type statisticsResolver VegaResolverRoot
    28  
    29  func (s *statisticsResolver) CurrentTime(ctx context.Context, obj *vega.Statistics) (int64, error) {
    30  	t, err := vegatime.Parse(obj.CurrentTime)
    31  	if err != nil {
    32  		return 0, err
    33  	}
    34  	return t.UnixNano(), nil
    35  }
    36  
    37  func (s *statisticsResolver) GenesisTime(ctx context.Context, obj *vega.Statistics) (int64, error) {
    38  	t, err := vegatime.Parse(obj.GenesisTime)
    39  	if err != nil {
    40  		return 0, err
    41  	}
    42  	return t.UnixNano(), nil
    43  }
    44  
    45  func (s *statisticsResolver) VegaTime(ctx context.Context, obj *vega.Statistics) (int64, error) {
    46  	t, err := vegatime.Parse(obj.VegaTime)
    47  	if err != nil {
    48  		return 0, err
    49  	}
    50  	return t.UnixNano(), nil
    51  }
    52  
    53  func (s *statisticsResolver) BlockHeight(ctx context.Context, obj *vega.Statistics) (string, error) {
    54  	return strconv.FormatUint(obj.BlockHeight, 10), nil
    55  }
    56  
    57  func (s *statisticsResolver) BacklogLength(ctx context.Context, obj *vega.Statistics) (string, error) {
    58  	return strconv.FormatUint(obj.BacklogLength, 10), nil
    59  }
    60  
    61  func (s *statisticsResolver) TotalPeers(ctx context.Context, obj *vega.Statistics) (string, error) {
    62  	return strconv.FormatUint(obj.TotalPeers, 10), nil
    63  }
    64  
    65  func (s *statisticsResolver) TxPerBlock(ctx context.Context, obj *vega.Statistics) (string, error) {
    66  	return strconv.FormatUint(obj.TxPerBlock, 10), nil
    67  }
    68  
    69  func (s *statisticsResolver) AverageTxBytes(ctx context.Context, obj *vega.Statistics) (string, error) {
    70  	return strconv.FormatUint(obj.AverageTxBytes, 10), nil
    71  }
    72  
    73  func (s *statisticsResolver) AverageOrdersPerBlock(ctx context.Context, obj *vega.Statistics) (string, error) {
    74  	return strconv.FormatUint(obj.AverageOrdersPerBlock, 10), nil
    75  }
    76  
    77  func (s *statisticsResolver) TradesPerSecond(ctx context.Context, obj *vega.Statistics) (string, error) {
    78  	return strconv.FormatUint(obj.TradesPerSecond, 10), nil
    79  }
    80  
    81  func (s *statisticsResolver) OrdersPerSecond(ctx context.Context, obj *vega.Statistics) (string, error) {
    82  	return strconv.FormatUint(obj.OrdersPerSecond, 10), nil
    83  }
    84  
    85  func (s *statisticsResolver) TotalMarkets(ctx context.Context, obj *vega.Statistics) (string, error) {
    86  	return strconv.FormatUint(obj.TotalMarkets, 10), nil
    87  }
    88  
    89  func (s *statisticsResolver) TotalAmendOrder(ctx context.Context, obj *vega.Statistics) (string, error) {
    90  	return strconv.FormatUint(obj.TotalAmendOrder, 10), nil
    91  }
    92  
    93  func (s *statisticsResolver) TotalCancelOrder(ctx context.Context, obj *vega.Statistics) (string, error) {
    94  	return strconv.FormatUint(obj.TotalCancelOrder, 10), nil
    95  }
    96  
    97  func (s *statisticsResolver) TotalCreateOrder(ctx context.Context, obj *vega.Statistics) (string, error) {
    98  	return strconv.FormatUint(obj.TotalCreateOrder, 10), nil
    99  }
   100  
   101  func (s *statisticsResolver) EventCount(ctx context.Context, obj *vega.Statistics) (string, error) {
   102  	return strconv.FormatUint(obj.EventCount, 10), nil
   103  }
   104  
   105  func (s *statisticsResolver) EventsPerSecond(ctx context.Context, obj *vega.Statistics) (string, error) {
   106  	return strconv.FormatUint(obj.EventsPerSecond, 10), nil
   107  }
   108  
   109  func (s *statisticsResolver) TotalOrders(ctx context.Context, obj *vega.Statistics) (string, error) {
   110  	return strconv.FormatUint(obj.TotalOrders, 10), nil
   111  }
   112  
   113  func (s *statisticsResolver) TotalTrades(ctx context.Context, obj *vega.Statistics) (string, error) {
   114  	return strconv.FormatUint(obj.TotalTrades, 10), nil
   115  }
   116  
   117  func (s *statisticsResolver) BlockDuration(ctx context.Context, obj *vega.Statistics) (string, error) {
   118  	return time.Duration(obj.BlockDuration).String(), nil
   119  }
   120  
   121  func (s *statisticsResolver) Status(ctx context.Context, obj *vega.Statistics) (string, error) {
   122  	return obj.Status.String(), nil
   123  }