Skip to content

Conversation

arnetheduck
Copy link
Member

https://github.com/status-im/nim-chronicles/releases/tag/v0.12.0

less memory and CPU usage - more runtime config options

@arnetheduck arnetheduck marked this pull request as ready for review August 11, 2025 20:29
@arnetheduck arnetheduck requested a review from a team as a code owner August 11, 2025 20:29
@arnetheduck arnetheduck requested review from glitchminer and removed request for a team August 11, 2025 20:29
@caybro caybro requested review from a team, caybro, alexjba and saledjenic and removed request for a team and glitchminer August 11, 2025 20:41
@status-im-auto
Copy link
Member

status-im-auto commented Aug 11, 2025

Jenkins Builds

Click to see older builds (9)
Commit #️⃣ Finished (UTC) Duration Platform Result
✔️ 0db5c95 #1 2025-08-11 20:42:09 ~11 min macos/aarch64 🍎dmg
✔️ 0db5c95 #1 2025-08-11 20:43:00 ~12 min macos/aarch64 🍎dmg
✖️ 0db5c95 #1 2025-08-11 20:43:18 ~13 min tests/nim 📄log
✔️ 0db5c95 #1 2025-08-11 20:49:26 ~19 min linux/x86_64 📦tgz
✔️ 0db5c95 #1 2025-08-11 20:49:48 ~19 min tests/ui 📄log
✔️ 0db5c95 #1 2025-08-11 20:52:03 ~21 min linux/x86_64 📦tgz
✔️ 0db5c95 #1 2025-08-11 20:52:55 ~22 min windows/x86_64 💿exe
✔️ 0db5c95 pr18553 2025-08-11 20:59:55 ~10 min tests/e2e 📊rpt
✔️ 0db5c95 pr18553 2025-08-11 21:02:42 ~10 min tests/e2e 📊rpt
Commit #️⃣ Finished (UTC) Duration Platform Result
✔️ ff8db84 #2 2025-09-02 09:52:22 ~6 min tests/nim 📄log
✔️ 6bb7d5e #3 2025-09-02 10:01:42 ~7 min tests/nim 📄log
6bb7d5e #3 2025-09-02 10:04:41 ~10 min linux/x86_64-nwaku 📄log
✔️ 6bb7d5e #3 2025-09-02 10:07:04 ~12 min tests/ui 📄log
✔️ 6bb7d5e #3 2025-09-02 10:08:49 ~14 min macos/aarch64 🍎dmg
✔️ 6bb7d5e #3 2025-09-02 10:10:45 ~16 min linux/x86_64 📦tgz
✔️ 6bb7d5e #3 2025-09-02 10:14:38 ~20 min macos/aarch64-nwaku 🍎dmg
✔️ 6bb7d5e pr18553 2025-09-02 10:21:55 ~11 min tests/e2e 📊rpt
✔️ 6bb7d5e #3 2025-09-02 10:22:05 ~27 min windows/x86_64 💿exe

@caybro caybro requested a review from jrainville August 11, 2025 20:43
Copy link
Member

@caybro caybro left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM, just seems to be breaking the resident NIM tests

@arnetheduck
Copy link
Member Author

LGTM, just seems to be breaking the resident NIM tests

Turns out the tests didn't initialize logging which, due to a regression in support for uninitialized log streams, crashes: status-im/nim-chronicles#181

@arnetheduck arnetheduck requested a review from a team as a code owner September 2, 2025 09:54
switch("define", "chronicles_sinks=textlines[stdout],textlines[nocolors,dynamic],textlines[file,nocolors]")
switch("define", "chronicles_runtime_filtering=on")
switch("define", "chronicles_default_output_device=dynamic")
switch("define", "chronicles_log_level=trace")
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Just wondering whether this will propagate correctly to the mobile builds @alexjba ?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

config.nims gets picked up for all nim-related builds that happen in this folder, so mobile builds in particular should not be special this way - when the build system was set up, NIMFLAGS was intended for command-line overrides and other "local" preferences to the build (much like CFLAGS) while config.nims represents the "permanent" compile-time configuration of the application.

The biggest difference is that with these flags inside config.nims, when you "manually" build things with nim c without using the makefile, you'll get a consistent logging experience (ie when you build and run a single unit test file).

Copy link
Contributor

@alexjba alexjba Sep 4, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

we've had some issues with chronicles on android and we'll need to go back to it later on. It cannot stdout. It needs to use a similar implementation as echo and import the android headers. We're currently using syslog sink as a workaround.
https://github.com/status-im/status-desktop/blob/master/mobile/scripts/buildNimStatusClient.sh#L24

But I'm totally for this change. I see no reason not to use the config.nims. We can add an additional sink for Android if needed until we'll fix chronicles.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

command line

Ah, command line should override what's in config.nims, so it should be safe that way as well - though for long-term, it would turn into a when(android) section in config.nims proper.

@arnetheduck arnetheduck merged commit 073bec6 into master Sep 4, 2025
8 of 9 checks passed
@arnetheduck arnetheduck deleted the bump-chronicles branch September 4, 2025 14:07
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants