Skip to content

Commit

Permalink
(core) add notes on tracy caveats
Browse files Browse the repository at this point in the history
  • Loading branch information
letoram committed Jun 3, 2023
1 parent b99efb9 commit f8931b1
Show file tree
Hide file tree
Showing 2 changed files with 28 additions and 1 deletion.
14 changes: 14 additions & 0 deletions HACKING.md
Expand Up @@ -158,6 +158,20 @@ debugging quickly becomes very disruptive, and tracing sources becomes more
important to get valuable information. In this section a few such sources and
tactics are listed.

## Tracy

Arcan has native optional built-in support for the Tracy tracer. Enabling it
comes with some caveats (-DENABLE_TRACY=ON). First is to expect that it will
hold a tcp port (default 8086) open and that any personal data exposed might
be accessed this way, which is part of the point. Thus is it not intended to
run on normal day-to-day production devices.

Second is that it collides with crash recovery, so regular Lua scripting
errors will become stalls. If running Arcan as the primary display server,
this means that the display will be unusable. Be sure to have a second
connection path, e.g. ssh or a12 into an afsrv\_terminal.


## Watchdog

When running a low level platform where arcan acts as the display server,
Expand Down
15 changes: 14 additions & 1 deletion src/engine/arcan_monitor.c
Expand Up @@ -8,7 +8,20 @@ static FILE* m_ctrl;
static bool m_locked;
static bool m_transaction;

/* fgets ->
/*
* Might just be a point to use shmif client API here and in arcan-net end use
* shmif inherited there as well. The slight annoyance is the conflict with
* LWA getting its primary connection.
*
* The other option would be to explicitly name a connection point and have two
* shmif connections, one for the monitor controls and one for the regular LWA.
*
* That makes more sense structurally then having this separate setup, especially
* as more entry points into scripts might be needed - e.g. state transfer.
*
* This would also mesh better with other debugging tools.
*
* fgets ->
* need command for:
* database externally modified (new namespaces, EVENT_SYSTEM)
* debug-controls
Expand Down

0 comments on commit f8931b1

Please sign in to comment.