Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: create logging proxy #653

Merged
merged 13 commits into from
Dec 19, 2023
4 changes: 2 additions & 2 deletions codex.nim
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,6 @@
## This file may not be copied, modified, or distributed except according to
## those terms.

import pkg/chronicles
import pkg/chronos
import pkg/questionable
import pkg/confutils
Expand All @@ -21,10 +20,11 @@ import pkg/libp2p

import ./codex/conf
import ./codex/codex
import ./codex/logutils
import ./codex/units
import ./codex/utils/keyutils

export codex, conf, libp2p, chronos, chronicles
export codex, conf, libp2p, chronos, logutils

when isMainModule:
import std/sequtils
Expand Down
7 changes: 3 additions & 4 deletions codex/blockexchange/engine/discovery.nim
Original file line number Diff line number Diff line change
Expand Up @@ -10,22 +10,21 @@
import std/sequtils

import pkg/chronos
import pkg/chronicles
import pkg/libp2p/cid
import pkg/metrics
import pkg/questionable
import pkg/questionable/results

import ../protobuf/presence
import ./pendingblocks

import ../protobuf/presence
import ../network
import ../peers

import ../../utils
import ../../discovery
import ../../stores/blockstore

import ./pendingblocks
import ../../logutils

logScope:
topics = "codex discoveryengine"
Expand Down
2 changes: 1 addition & 1 deletion codex/blockexchange/engine/engine.nim
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,6 @@ import std/algorithm
import std/sugar

import pkg/chronos
import pkg/chronicles
import pkg/libp2p/[cid, switch, multihash, multicodec]
import pkg/metrics
import pkg/stint
Expand All @@ -23,6 +22,7 @@ import ../../stores/blockstore
import ../../blocktype
import ../../utils
import ../../merkletree
import ../../logutils

import ../protobuf/blockexc
import ../protobuf/presence
Expand Down
2 changes: 1 addition & 1 deletion codex/blockexchange/engine/pendingblocks.nim
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,6 @@ import pkg/upraises

push: {.upraises: [].}

import pkg/chronicles
import pkg/chronos
import pkg/libp2p
import pkg/metrics
Expand All @@ -23,6 +22,7 @@ import pkg/questionable/results
import ../protobuf/blockexc
import ../../blocktype
import ../../merkletree
import ../../logutils

logScope:
topics = "codex pendingblocks"
Expand Down
2 changes: 1 addition & 1 deletion codex/blockexchange/network/network.nim
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,6 @@
import std/tables
import std/sequtils

import pkg/chronicles
import pkg/chronos

import pkg/libp2p
Expand All @@ -19,6 +18,7 @@ import pkg/questionable
import pkg/questionable/results

import ../../blocktype as bt
import ../../logutils
import ../protobuf/blockexc as pb
import ../protobuf/payments

Expand Down
2 changes: 1 addition & 1 deletion codex/blockexchange/network/networkpeer.nim
Original file line number Diff line number Diff line change
Expand Up @@ -11,12 +11,12 @@ import pkg/upraises
push: {.upraises: [].}

import pkg/chronos
import pkg/chronicles
import pkg/libp2p

import ../protobuf/blockexc
import ../protobuf/message
import ../../errors
import ../../logutils

logScope:
topics = "codex blockexcnetworkpeer"
Expand Down
2 changes: 1 addition & 1 deletion codex/blockexchange/peers/peercontext.nim
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,6 @@ import std/tables
import std/sugar
import std/sets

import pkg/chronicles
import pkg/libp2p
import pkg/chronos
import pkg/nitro
Expand All @@ -23,6 +22,7 @@ import ../protobuf/payments
import ../protobuf/presence

import ../../blocktype
import ../../logutils

export payments, nitro

Expand Down
3 changes: 2 additions & 1 deletion codex/blockexchange/peers/peerctxstore.nim
Original file line number Diff line number Diff line change
Expand Up @@ -16,11 +16,12 @@ import pkg/upraises
push: {.upraises: [].}

import pkg/chronos
import pkg/chronicles
import pkg/libp2p

import ../protobuf/blockexc
import ../../blocktype
import ../../logutils


import ./peercontext
export peercontext
Expand Down
26 changes: 13 additions & 13 deletions codex/blocktype.nim
Original file line number Diff line number Diff line change
Expand Up @@ -19,15 +19,14 @@ import pkg/libp2p/[cid, multicodec, multihash]
import pkg/stew/byteutils
import pkg/questionable
import pkg/questionable/results
import pkg/chronicles
import pkg/json_serialization

import ./units
import ./utils
import ./formats
import ./errors
import ./logutils
import ./utils/json

export errors, formats, units
export errors, logutils, units

const
# Size of blocks for storage / network exchange,
Expand All @@ -42,11 +41,18 @@ type
BlockAddress* = object
case leaf*: bool
of true:
treeCid*: Cid
index*: Natural
treeCid* {.serialize.}: Cid
index* {.serialize.}: Natural
else:
cid*: Cid
cid* {.serialize.}: Cid

logutils.formatIt(LogFormat.textLines, BlockAddress):
if it.leaf:
"treeCid: " & shortLog($it.treeCid) & ", index: " & $it.index
else:
"cid: " & shortLog($it.cid)

logutils.formatIt(LogFormat.json, BlockAddress): %it

proc `==`*(a, b: BlockAddress): bool =
a.leaf == b.leaf and
Expand All @@ -63,12 +69,6 @@ proc `$`*(a: BlockAddress): string =
else:
"cid: " & $a.cid

proc writeValue*(
writer: var JsonWriter,
value: Cid
) {.upraises:[IOError].} =
writer.writeValue($value)

proc cidOrTreeCid*(a: BlockAddress): Cid =
if a.leaf:
a.treeCid
Expand Down
2 changes: 1 addition & 1 deletion codex/chunker.nim
Original file line number Diff line number Diff line change
Expand Up @@ -13,13 +13,13 @@ import pkg/upraises

push: {.upraises: [].}

import pkg/chronicles
import pkg/questionable
import pkg/questionable/results
import pkg/chronos
import pkg/libp2p except shuffle

import ./blocktype
import ./logutils

export blocktype

Expand Down
2 changes: 1 addition & 1 deletion codex/codex.nim
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,6 @@ import std/strutils
import std/os
import std/tables

import pkg/chronicles
import pkg/chronos
import pkg/presto
import pkg/libp2p
Expand All @@ -39,6 +38,7 @@ import ./contracts/clock
import ./contracts/deployment
import ./utils/addrutils
import ./namespaces
import ./logutils

logScope:
topics = "codex node"
Expand Down
9 changes: 6 additions & 3 deletions codex/conf.nim
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,6 @@ import std/strutils
import std/typetraits

import pkg/chronos
import pkg/chronicles
import pkg/chronicles/helpers
import pkg/chronicles/topics_registry
import pkg/confutils/defs
Expand All @@ -35,6 +34,7 @@ import pkg/questionable
import pkg/questionable/results

import ./discovery
import ./logutils
import ./stores
import ./units
import ./utils
Expand All @@ -53,7 +53,7 @@ type
noCommand,
initNode

LogKind* = enum
LogKind* {.pure.} = enum
Auto = "auto"
Colors = "colors"
NoColors = "nocolors"
Expand Down Expand Up @@ -276,6 +276,9 @@ type

EthAddress* = ethers.Address

logutils.formatIt(LogFormat.textLines, EthAddress): it.short0xHexLog
logutils.formatIt(LogFormat.json, EthAddress): %it

proc getCodexVersion(): string =
let tag = strip(staticExec("git tag"))
if tag.isEmptyOrWhitespace:
Expand Down Expand Up @@ -407,7 +410,7 @@ proc completeCmdArg*(T: type Duration; val: string): seq[string] =
discard

# silly chronicles, colors is a compile-time property
proc stripAnsi(v: string): string =
proc stripAnsi*(v: string): string =
var
res = newStringOfCap(v.len)
i: int
Expand Down
3 changes: 1 addition & 2 deletions codex/contracts/deployment.nim
Original file line number Diff line number Diff line change
@@ -1,11 +1,10 @@
import std/json
import std/os
import std/tables
import pkg/ethers
import pkg/questionable
import pkg/chronicles

import ../conf
import ../logutils
import ./marketplace

type Deployment* = ref object
Expand Down
4 changes: 2 additions & 2 deletions codex/contracts/interactions/clientinteractions.nim
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
import pkg/ethers
import pkg/chronicles

import ../../purchasing
import ../../logutils
import ../market
import ../clock
import ./interactions

export purchasing
export chronicles except toJson
export logutils

type
ClientInteractions* = ref object of ContractInteractions
Expand Down
6 changes: 3 additions & 3 deletions codex/contracts/interactions/hostinteractions.nim
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
import pkg/ethers
import pkg/chronicles
import pkg/chronos

import ../../logutils
import ../../sales
import ./interactions

export sales
export chronicles except toJson
export logutils

type
HostInteractions* = ref object of ContractInteractions
Expand Down
2 changes: 1 addition & 1 deletion codex/contracts/market.nim
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
import std/sequtils
import std/strutils
import std/sugar
import pkg/chronicles
import pkg/ethers
import pkg/ethers/testing
import pkg/upraises
import pkg/questionable
import ../logutils
import ../market
import ./marketplace

Expand Down
24 changes: 9 additions & 15 deletions codex/contracts/requests.nim
Original file line number Diff line number Diff line change
@@ -1,12 +1,13 @@
import std/hashes
import std/sequtils
import std/typetraits
import pkg/contractabi
import pkg/nimcrypto
import pkg/ethers/fields
import pkg/questionable/results
import pkg/stew/byteutils
import pkg/json_serialization
import pkg/upraises
import ../logutils
import ../utils/json

export contractabi
Expand Down Expand Up @@ -79,6 +80,13 @@ proc toHex*[T: distinct](id: T): string =
type baseType = T.distinctBase
baseType(id).toHex

logutils.formatIt(LogFormat.textLines, Nonce): it.short0xHexLog
logutils.formatIt(LogFormat.textLines, RequestId): it.short0xHexLog
logutils.formatIt(LogFormat.textLines, SlotId): it.short0xHexLog
logutils.formatIt(LogFormat.json, Nonce): it.to0xHexLog
logutils.formatIt(LogFormat.json, RequestId): it.to0xHexLog
logutils.formatIt(LogFormat.json, SlotId): it.to0xHexLog

func fromTuple(_: type StorageRequest, tupl: tuple): StorageRequest =
StorageRequest(
client: tupl[0],
Expand Down Expand Up @@ -176,17 +184,3 @@ func price*(request: StorageRequest): UInt256 =

func size*(ask: StorageAsk): UInt256 =
ask.slots.u256 * ask.slotSize

proc writeValue*(
writer: var JsonWriter,
value: SlotId | RequestId) {.upraises:[IOError].} =

mixin writeValue
writer.writeValue value.toArray

proc readValue*[T: SlotId | RequestId](
reader: var JsonReader,
value: var T) {.upraises: [SerializationError, IOError].} =

mixin readValue
value = T reader.readValue(T.distinctBase)
3 changes: 1 addition & 2 deletions codex/discovery.nim
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,6 @@ import std/algorithm
import std/sequtils

import pkg/chronos
import pkg/chronicles
import pkg/libp2p/[cid, multicodec, routing_record, signed_envelope]
import pkg/questionable
import pkg/questionable/results
Expand All @@ -21,7 +20,7 @@ import pkg/codexdht/discv5/protocol as discv5

import ./rng
import ./errors
import ./formats
import ./logutils

export discv5

Expand Down
Loading