Libraryless. Click here for Pure Java version (1627L/10K/34K).
!752 static class Event { long startTime, duration; S question, answer; S botID; } static PersistentLog<Event> data; p { data = new PersistentLog("data.log"); } synchronized answer { if "avg processing time" { if (empty(data)) ret "No data yet"; long avg = round(getAverage(data, "duration")); ret avg + " ms per question (" + l(data) + " requests counted)"; } if (match("clear avg processing time", s) && getUserName() != null) { data.clear(); ret "OK, log cleared."; } } static synchronized S answerPriv(S s) { new Matches m; if (match("log timing *", s, m)) { new Event e; copyFields(safeUnstructure(m.unq(0)), e); // mandatory fields assertTrue(e.startTime != 0); assertTrue(e.duration >= 0); assertTrue(!empty(e.question)); data.add(e); ret "OK, logged as item " + l(data); } ret null; }
download show line numbers debug dex old transpilations
Travelled to 14 computer(s): aoiabmzegqzx, bhatertpkbcr, cbybwowwnfue, cfunsshuasjs, gwrvuhgaqvyk, ishqpsrjomds, lpdgvwnxivlt, mqqgnosmbjvj, onxytkatvevr, pyentgdyhuwx, pzhvpgtvlbxg, tslmcundralx, tvejysmllsmz, vouqrxazstgt
No comments. add comment
Snippet ID: | #1002174 |
Snippet name: | avg processing time bot |
Eternal ID of this version: | #1002174/1 |
Text MD5: | dbd75303862a6d8b663f2e09b2e5d6f6 |
Transpilation MD5: | 061ffe3f45e9c11725cc1b1a4ef4c740 |
Author: | stefan |
Category: | javax |
Type: | JavaX source code |
Public (visible to everyone): | Yes |
Archived (hidden from active list): | No |
Created/modified: | 2016-01-19 18:02:41 |
Source code size: | 930 bytes / 43 lines |
Pitched / IR pitched: | No / No |
Views / Downloads: | 669 / 1767 |
Referenced in: | [show references] |