Download Reportworq
⬇ Guide PDF

Contribution processes#

The Contribution tab of Settings ▸ Performance is the operations console for the contribution runtime. Its heading reads Contribution worker processes and sessions. Contribution input forms run in isolated, out-of-process worker processes; this console makes that fleet visible per server, governs the memory safety valve that admits or denies new contributor sessions, and packages contribution session logs for support.

Contribution memory scales with cells multiplied by concurrent sessions, so a busy fleet can saturate. This console is where that saturation is seen and relieved. Settings ▸ Performance is administrator-only, and so are its control verbs.

The console is live only. It stores nothing: every figure is the present moment, refreshed on a poll, and no history, time series, or earlier peak is retained. Capture anything worth keeping at the time it is seen. To measure a form, or to keep a record, use campaign profiling instead.

Looking for this under Auditing? It used to be a Contribution Processes tab on Settings ▸ Auditing. It sits on Settings ▸ Performance now, beside the Distribution tab, because it is a live monitor rather than a record of what happened. Nothing about the console itself changed.

The console layout#

The screen is master-detail: a left rail lists every online worker grouped by server, and a right pane inspects the worker you select.

Element What it shows
Server group (left rail) Each online server heads a group of its workers and shows a used-memory percentage, colored by pressure. An offline server shows a "last seen" note instead of workers.
Worker row A two-segment memory bar (idle base vs. sessions alive), a flagged state when the worker is draining or at its session capacity, and the worker's active-over-maximum session count.
Worker inspector (right pane) A stacked memory breakdown (idle baseline, sessions alive, headroom), a stat grid, and the worker's per-session table.
Auto-refresh · 10s Repaints the telemetry every 10 seconds; a manual Refresh is also available.

The worker states are Active, Draining, At capacity, Warm, Legacy 1:1, Idle, and Stopped.

The inspector's stat grid carries four fields: Workspace, Sessions (active over maximum), Served (lifetime), and Uptime. Its session table has six columns: User, Opened (a time, with no date), Input form, Calc (Auto or Manual), Workbook (Loaded or Unloaded), and Actions.

Headroom is measured against the busiest worker on the same server, not against the machine. It is the distance between this worker and that peer, so a large headroom figure does not mean the server has free memory. For the same reason the memory bars are scaled per server and are not comparable across servers.

Control verbs#

The console can act on the live fleet. These are administrator-only, disruptive, and available only when a worker is controllable. Each one is recorded in the System audit log.

Verb Effect
Force GC Runs garbage collection on the worker to reclaim memory.
Drain Stops the worker taking new sessions so it can wind down.
Shutdown worker Stops the worker process.
Force-unload workbook Releases a session's loaded workbook. Disabled when no workbook is loaded.
Kill session Ends a live session. It confirms first: "End contribution session '{id}'? The user's unsaved edits are recorded and the form lock is released."

Killing a session reclaims a stuck session without losing the contributor's work in progress and without leaving the form locked.

The 90% memory admission valve#

The same per-server memory reading drives a hard safety valve on the session-launch path. When a contributor opens a form, Reportworq checks the memory of every online server (local and load-balanced) and steers the new session to the online server with the most available memory that can still accept one.

A server can accept a new session only while its memory used is below 90%. If no server qualifies, meaning every online server is at or above 90% memory used, the launch is denied and the contributor is told:

Unable to launch new Contribution session because all servers are at capacity. Please try again later.

Below the threshold, the load balancer steers the session to the least-loaded server. Watching per-server memory climb toward this valve during a live round is the signal to drain or shut down a hot worker, or kill a runaway session, to free headroom before contributors are turned away.

Session logs, for support#

A toolbar handles contribution session logs across the whole fleet. Logs from remote servers are pulled on demand before packaging.

Action Effect
Download logs Gathers logs from all servers and saves a Reportworq_Contribution_Session_Logs_<timestamp>.zip locally.
Send to Support Refreshes the remote logs, uploads them to the Reportworq support system, and notifies staff.
Clear logs Clears all contribution session logs. Destructive; confirmation required.

When to use it#

Notes and limits#

Going deeper. For the sibling Distribution tab on the same screen, which ranks report runs across releases and nodes, see Compare performance across reports. For the write-back processing this fleet's collected input feeds into, see Data collection processing. For the wider multi-server picture, see Deployment topology.

Feedback on this page

Comments, questions, requests, or something missing or unclear? Email us - the page you are on is filled in for you.

Email feedback on this page

Or write to support@reportworq.com directly.