Commit Graph

15 Commits

Author SHA1 Message Date
Crazylemon64
b633cf53af Moves from log_debug to log_runtime for non-fatal abberant states 2016-08-23 17:03:52 -07:00
Krausus
541076b6b4 Conflict resolution 2016-08-17 22:54:22 -04:00
Krausus
4478855cfd Process deferral and profiling improvements 2016-08-17 02:10:39 -04:00
Crazylemon64
60ff7e100a Clicky stat buttons 2016-08-15 09:44:07 -07:00
Krausus
dba8af8ab5 Removes dels and unused code that contains dels 2016-08-02 01:33:19 -04:00
Krausus
0535765ba4 Improves caught exception logging
Also refactors away "log_runtime" config var to use its name for a
helper proc
2016-07-14 15:44:28 -04:00
Tigercat2000
71e5344a98 Mass replace 2016-07-07 19:34:02 -07:00
Krausus
30517a9b10 Adds Error Handling and Realtime Runtime Reviewal (#4679)
* Adds Error Handler

Adds a /world/Error proc to handle runtime errors. This proc replaces
the normal runtime logging behavior, providing the following
improvements:

- Adds timestamps to runtimes
- Pads or omits certain lines
- Continues logging runtimes after the 99th (with less info, as provided
by BYOND)
- Adds ckey and accurate xyz to usr info
- Continues including usr info after 19th runtime
- Silences spammy runtimes (by default, a runtime that occurs 10 times
in 10 minutes gets ignored for the next 10 minutes)

* Adds runtime viewer

Also fixes a minor mistake in the error handler

* Sanitizes HTML in Error Viewer

Also removes the stray return from the end of the error handler

* Prettifies Error Viewer

Now uses browser datum and some extra bits of formatting, inspired by
the changes made by @PJB3005

* Error Handling Improvements

- Skipped error counts now show up in the error viewer
- Proper runtimes caught by a process are now sent to the main error
handler
- The error handler and viewer can now handle a provided src, such as
one from a processing runtime
- Moved some info generation into helper procs
2016-06-19 12:53:07 -04:00
Tastyfish
83396d41df Removes btime dependency, makes sleep check happen on Every SCHECK 2016-03-01 22:20:19 -05:00
Tigercat2000
2889c5df01 Make DI tab readable
The process scheduler section of the DI tab is nearly unreadable as-is,
due to having precisely 0 spaces in the statistics. This fixes that
2015-09-20 10:53:37 -07:00
Tigercat2000
ca921216fe New proc to replace world.log <<, log_to_dd()
This commit changes every 'world.log <<' message with a loggable proc-
log_to_dd().

This is adjustable in the config; If LOG_WORLD_OUTPUT is present, all
things sent to world.log will show up in the standard /data/logs/ logs.

These logs will contain the following (in order):
 Timestamp
 "DD_OUTPUT:"
 The message.

The config option for this, by default, is turned off.
2015-08-14 18:18:57 -07:00
Krausus
a00f9bbc64 A few more process tweaks
- Removes unused btime globals.
- Removes unnecessary multiplication.
- Makes the garbage collector run twice as often, but do half as much
work.
- Makes the garbage collector SCHECK more often when performing hard
deletions.
- Adds a delay to the garbage collector's start.
2015-08-08 19:31:13 -04:00
Krausus
61edb3eb95 Further process tweaks
- Integrates Volundr's btime library and associated process scheduler
changes.
- btime is implemented separately from the process scheduler, as precise
time measurement is also useful elsewhere.
- `TimeOfHour` is no longer internally throttled; throttling is instead
done by `SCHECK`.
- If btime's `gettime` cannot be called at world startup, an error will
be output and the world will stop.
- Retains the change to schedule processes according to game time,
rather than real time.
- Removes the (now unused) update queue files.
- Removes the process scheduler testing files.
- These are standalone tests for the process scheduler, completely
unrelated to its use in the full codebase. We never used them.
- Moves the process scheduler defines into __DEFINES.
- Makes the lighting process run once before the round starts.
- Renames `scheck` to `sleepCheck`, to ensure any code that tries to use
`scheck` will fail to compile.
- Adds `SCHECK` and `SCHECK_EVERY` macros that skip calling `sleepCheck`
entirely until a specified number of `SCHECK`s (50 by default) have been
called.
- Makes most processes iterate using their `last_object` variable,
allowing hang recovery to show the type that caused the hang.
- Makes processes output an error when they filter out a type they
refuse to process.
- Rolls the recently-added alarm subsystem into the alarm process.
- Removes the now unused subsystems code.
2015-08-08 09:07:26 -04:00
Krausus
c520ebd8a5 Process and Process Scheduler Tweaks 2015-07-18 13:14:32 -04:00
ZomgPonies
2c50a42ba7 Goon process scheduler 2015-02-22 15:24:46 -05:00