Commit 085b9a4e authored by Karsten Loesing's avatar Karsten Loesing
Browse files

Merge TB_EMPTY events, take out [OR_]TOKENS events.

parent eb413956
Loading
Loading
Loading
Loading
+10 −51
Original line number Diff line number Diff line
@@ -299,7 +299,7 @@
         "STATUS_CLIENT" / "STATUS_SERVER" / "GUARD" / "NS" / "STREAM_BW" /
         "CLIENTS_SEEN" / "NEWCONSENSUS" / "BUILDTIMEOUT_SET" / "SIGNAL" /
         "CONF_CHANGED" / "CIRC_MINOR" / "CONN_BW" / "CELL_STATS" /
         "TOKENS" / "OR_TOKENS" / "TB_EMPTY"
         "TB_EMPTY"

  Any events *not* listed in the SETEVENTS line are turned off; thus, sending
  SETEVENTS with an empty body turns off all event reporting.
@@ -2263,65 +2263,24 @@
4.1.22. Token buckets refilled

  The syntax is:
     "650" SP "TOKENS" SP
        GlobalReadBefore SP GlobalReadAfter SP
        GlobalWriteBefore SP GlobalWriteAfter SP
        RelayReadBefore SP RelayReadAfter SP
        RelayWriteBefore SP RelayWriteAfter CRLF

  GlobalReadBefore (GlobalWriteBefore) is the number of tokens in the
  global read (write) bucket before refilling, GlobalReadAfter
  (GlobalWriteAfter) is the number of tokens after refilling.

  RelayReadBefore (RelayWriteBefore) is the number of tokens in the relay
  read (write) bucket before refilling, RelayReadAfter (RelayWriteAfter)
  is the number of tokens after refilling.

  The syntax for a related event is:
     "650" SP "TB_EMPTY" SP ["GLOBAL" || "RELAY"] SP
     "650" SP "TB_EMPTY" SP ["GLOBAL" || "RELAY" || "ORCONN" SP ConnID] SP
        ReadBucketEmpty SP WriteBucketEmpty SP LastRefill CRLF

  The "GLOBAL" keyword is used when one of the global buckets runs out of
  tokens, and the "RELAY" keyword is used when one of the relay buckets
  runs out of tokens.  If both global and relay buckets run out of tokens
  at the same time, two separate events are generated.
  This even is generated when refilling a previously empty token bucket.
  The "GLOBAL" and "RELAY" keywords are used for the global or relay token
  buckets, the "ORCONN" keyword together with a ConnID is used for the
  token buckets of an OR connection.

  ReadBucketEmpty (WriteBucketEmpty) is the time in millis that the read
  (write) bucket was empty.  LastRefill is the time in millis since the
  last refill.  ReadBucketEmpty or WriteBucketEmpty are capped at
  LastRefill in order not to report empty times more than once.

  These events are generated whenever token buckets are refilled, but only
  if TestingTorNetwork is set.  The "TB_EMPTY" event is only generated if
  a bucket was empty before refilling.

 4.1.23. Per-connection token buckets refilled

  The syntax is:
     "650" SP "OR_TOKENS" SP ConnID SP ReadBefore SP ReadAfter SP
        WriteBefore SP WriteAfter CRLF

  ConnID is the connection ID of this OR connection.

  ReadBefore (WriteBefore) is the number of tokens in the connection read
  (write) bucket before refilling, ReadAfter (WriteAfter) is the number of
  tokens after refilling.

  The syntax for a related event is:
     "650" SP "TB_EMPTY" SP "ORCONN" SP ConnID SP ReadBucketEmpty SP
        WriteBucketEmpty SP LastRefill CRLF

  ConnID is the connection ID of this OR connection.
  If both global and relay buckets and/or the buckets of one or more OR
  connections run out of tokens at the same time, multiple separate events
  are generated.

  ReadBucketEmpty (WriteBucketEmpty) is the time in millis that the read
  (write) bucket was empty.  LastRefill is the time in millis since the
  last refill.  ReadBucketEmpty or WriteBucketEmpty are capped at
  LastRefill in order not to report empty times more than once.

  These events are generated whenever token buckets are refilled and for
  every OR connection that had its buckets refilled, but only if
  TestingTorNetwork is set.  The "TB_EMPTY" event is only generated if
  a bucket was empty before refilling.
  These events are only generated if TestingTorNetwork is set.

5. Implementation notes