Commit Graph

595 Commits

Author SHA1 Message Date
gmega 256d0e7270
add some hacks to allow enabling profiling on specific threads, and guarding against enabling it on multiple 2023-12-07 09:07:00 -03:00
gmega 23f63251f5
add assertions to try to track threading errors 2023-12-07 09:07:00 -03:00
gmega 3c6ef3019f
allow configuration of profiler output volume from CLI option 2023-12-07 09:06:59 -03:00
gmega e70c40cb45
fix counter update bug 2023-12-07 09:06:59 -03:00
gmega b795d8a3f5
revert threadvars and add initialization to collector global instance 2023-12-07 09:06:59 -03:00
gmega f048404cb7
add callback to eliminate the need for an async timer in metric updates 2023-12-07 09:06:59 -03:00
gmega 29d36b51f2
modify metrics collector so it uses standard gauges 2023-12-07 09:06:58 -03:00
gmega b50469f6cc
rename metrics to follow codex conventions 2023-12-07 09:06:58 -03:00
gmega c809af7dc7
add tests to main test suite, add global async profiler info collector 2023-12-07 09:06:58 -03:00
gmega eab506949d
guard metrics dump with chronosFuturesInstrumentation flag 2023-12-07 09:06:58 -03:00
gmega c4adc65823
rename ProfilingCollector => AsyncProfilerInfo to match nim-metrics naming convention 2023-12-07 09:06:57 -03:00
gmega f16bccfcb6
add labeled top-k slowest async procs to prometheus collector 2023-12-07 09:06:57 -03:00
gmega 613e4c4038
add basic prometheus profiling metrics tracker 2023-12-07 09:06:57 -03:00
gmega aa6d8d7b56
fix test file name and remove old test file 2023-12-07 09:06:57 -03:00
gmega 19d90191d8
order api results by descending totalExecTime (with option of adding a query parameter) 2023-12-07 09:06:56 -03:00
gmega f99a516203
add simple profiling API 2023-12-07 09:06:51 -03:00
gmega 91d186b717
WiP 2023-12-07 09:04:47 -03:00
Jaremy Creechley a6781e7eed
revert 2023-12-07 09:03:34 -03:00
Jaremy Creechley 9de7070743
use non-closure procs 2023-12-07 09:03:33 -03:00
Jaremy Creechley 94f899b664
work around odd error with payForBlock codegen 2023-12-07 09:03:33 -03:00
Jaremy Creechley 28593bed1d
push changes 2023-12-07 09:03:33 -03:00
Jaremy Creechley 2f4bc85d58
updates 2023-12-07 09:03:33 -03:00
Jaremy Creechley 46c6efd780
fix isNil checks 2023-12-07 09:03:32 -03:00
Jaremy Creechley e820745935
bump cache 2023-12-07 09:03:32 -03:00
Jaremy Creechley d7e3e1c938
don't fail fast 2023-12-07 09:03:32 -03:00
Jaremy Creechley 51e6f237a0
docs 2023-12-07 09:03:31 -03:00
Jaremy Creechley bde957e873
rename future metrics 2023-12-07 09:03:31 -03:00
Jaremy Creechley 8622befaf2
import profiler utils 2023-12-07 09:03:31 -03:00
Jaremy Creechley dc1f03b89a
point to codex chronos repo 2023-12-07 09:03:31 -03:00
Jaremy Creechley 39db49ce3c
point to codex chronos repo 2023-12-07 09:03:31 -03:00
Jaremy Creechley f7fd49107f
point to codex chronos repo 2023-12-07 09:03:30 -03:00
Eric 3907ca4095
Add get active slot /slots/{slotId} to REST api, use utils/json (#645)
* Add get active slot /slots/{slotId} to REST api, use utils/json

- Add endpoint /slots/{slotId} to get an active SalesAgent from the Sales module. Used in integration tests to test when a sale has reached a certain state. Those integration test changes will be included in a larger PR, coming later.
- Add OpenAPI changes for new endpoint and associated components
- Use utils/json instead of nim-json-serialization. Required exemption of imports from several packages that export nim-json-serialization by default.

* Only except `toJson` from import/export of chronicles
2023-12-07 12:16:36 +11:00
Eric 86a6ef9215
remove waitFor cancelAndWait in proving state (#643)
In proving.onCancelled, the `waitFor state.loop.cancelAndWait()` was never completing. Turns out this was not needed, because when changing states, the current state's run is cancelled, which automatically cancels the state prove loop, because it is a child of proving.run. Therefore, the logic to cancelAndWait the prove loop was removed as it was not needed.
2023-12-06 14:20:14 +11:00
Adam Uhlíř b38146d3f7
fix: check expiration is before request end (#641) 2023-12-05 14:25:28 +01:00
Adam Uhlíř 0e4387d1b3
refactor: move expiry update from fetchBatched (#634) 2023-11-28 22:04:11 +01:00
Dmitriy Ryajov 22c31046a7
Dont dial self (#633)
* don't dial self

* revert style changes

* filter out self on dial

* add helpers to `peerId` and `isSelf`

* don't fire up discovery eaguerly

* allow excluding multiple peers in sendWantHave

* revert style changes

* move self check to discovery.find

* readd eaguer dht lookup is required in some cases

* revert style changes

* misc

* drop peer first, before queueing a dht lookup

* moar style changes

* use isSelf
2023-11-27 10:25:53 -08:00
Dmitriy Ryajov e871859a96
Bump dht (#628)
* rename nim-libp2p-dht to nim-codex-dht

* bump dht

* update .gitmodules

* bump

---------

Co-authored-by: Jaremy Creechley <creechley@gmail.com>
2023-11-27 09:23:25 -08:00
markspanbroek b62ccf5a8a
Update Request: remove PoR, add merkle root (#590)
* [build] update codex-contracts-eth

* [contracts] update request parameters

- Remove PoR parameters and totalChunks
- Add merkleRoot
2023-11-27 12:25:01 +00:00
Slava a805af02c1
Run C-Tests on master commits (#636)
https://github.com/codex-storage/cs-codex-dist-tests/pull/84
2023-11-27 13:32:13 +02:00
Adam Uhlíř 79fce39dbf
fix: require expiry from api (#629)
Co-authored-by: markspanbroek <mark@spanbroek.net>
2023-11-22 11:35:26 +00:00
Adam Uhlíř 8681a40ee7
feat: update expiry when data downloaded and slot filled (#619)
Co-authored-by: Eric <5089238+emizzle@users.noreply.github.com>
Co-authored-by: markspanbroek <mark@spanbroek.net>
2023-11-22 10:09:12 +00:00
Tomasz Bekas 4d546f9ace
Bump questionable and test for tree init failure (#630) 2023-11-21 19:30:14 +01:00
Dmitriy Ryajov ec8d0c98b2
Fix REST endpoints semantics (#612)
* Fix REST endpoints semantics

* update endpoint description

* update, operation id

* Adding enum support

* make enum descerializer public

* add support for listing manifests

* test `/data` endpoint to list local manifests

* debug leftovers

* remove commented out line
2023-11-20 16:14:06 -08:00
Tomasz Bekas 70efd13c73
Fix block delete by treeCid and index (#623) 2023-11-20 14:48:56 +01:00
markspanbroek 374e6b645b
Add poseidon2 dependency (#625)
* [build] add nim-poseidon2

* [build] Workaround incompatibility constantine and secp256k1

Constantine sets compiler flag that is incompatible
with the assembly code in secp256k1:
5f7ba18f2e/constantine/platforms/isa/macro_assembler_x86.nim (L19)

---------

Co-authored-by: Dmitriy Ryajov <dryajov@gmail.com>
2023-11-20 09:51:36 +01:00
Ben Bierens 750fe2392f
Adds option to automatically announce codex by its public IP (#621)
* Adds option to automatically announce codex by its public IP

* Review comments by Slava

* Make NAT_PUBLIC_IP_AUTO more verbose and error resistant

Signed-off-by: Slava <20563034+veaceslavdoina@users.noreply.github.com>

---------

Signed-off-by: Slava <20563034+veaceslavdoina@users.noreply.github.com>
Co-authored-by: Slava <20563034+veaceslavdoina@users.noreply.github.com>
2023-11-17 13:48:25 +00:00
Ben Bierens bece1b88a1
Feat/bump questionable (#627)
* Bumps questionable version to 0.10.12

* removes unnecessary questionnable bindings.

* Fixes tests

* unnecessary whitespaces
2023-11-17 13:49:45 +01:00
Ben Bierens 40d7714a67
Fixes json formatting for NodeId (#614) 2023-11-15 13:29:17 +00:00
Dmitriy Ryajov 4d50ecf504
handle exceptions gracefuly in rest api (#617) 2023-11-14 11:05:43 -08:00
Dmitriy Ryajov 8d61391073
Light cleanup (#616)
mostly whitespaces cleanup
2023-11-14 09:52:27 -08:00