Commit Graph

152 Commits

Author SHA1 Message Date
Giacomo Pozzoni
96dc110f4a Core/DBLayer: Add QueueSize() method (#26733)
* Core/DBLayer: Add QueueSize() method

Add QueueSize() method to database objects (Login, Character and World) that returns how many tasks are queued.
Include the queue size of the 3 databases in ".server debug" command

* Make the code less threadsafe

* Send data to InfluxDB

* Update grafana dashboard
2021-07-24 14:50:30 +02:00
Giacomo Pozzoni
5991dcb12b CI/CircleCI: Switch to Ubuntu 21.04 (#26476) 2021-04-25 16:10:47 +02:00
Giacomo Pozzoni
84ad438d15 Push docker images to DockerHub (#26177)
* CI/CircleCI: Push docker images to DockerHub

Push docker image to DockerHub is DOCKERHUB_PUSH_IMAGES environmental variable is set to "TRUE".

* Build in Release only if pushing the images to dockerhub

* Move branch from repository name to tag name

* Update docker readme

Co-authored-by: Trond B. Krokli <38162891+illfated@users.noreply.github.com>
2021-03-05 22:22:56 +01:00
Trond B. Krokli
3a61fe3c31 Docker/Readme: codestyle cleanup (9af6bf1 follow-up) (#25864)
* Docker/Readme: codestyle cleanup

Changes proposed:
- Simplify MD back tick usage in stand-alone horizontal strings.
- Sentence grammar improvements/adjustments (might->may etc.)
- Punctuation: Add a period dot at the end of proper sentences.
- Punctuation: Add Oxford commas for natural readability.
- Punctuation: Add colon at the end of sentence introducing command examples.
- Reduce indentation level for bullet point annotation from second level to first level.
- Spell Linux with a capital L (proper noun, from "Linus + UNIX").
- UNIX is a proper noun with all its letters in uppercase.
- Remove a stray double quote character from the start of a command.
- Replace HTML entity &#46; with its ASCII representation, a period dot.

Whitespace changes:
- add editorial blank line below H1 (page title) and H2 headings
- add editorial blank line below MD code block fences (codestyle)

* Lowercase 'pch' job name

- "PCH" -> pch

* Revert HTML entity change in README dot md

- Revert README.md to its original `README&#46;md` spelling to avoid coding issues.

* Update contrib/Docker/README.md

Co-authored-by: Trond B. Krokli <38162891+illfated@users.noreply.github.com>

Co-authored-by: Giacomo Pozzoni <giacomopoz@gmail.com>
2021-01-17 16:33:19 +01:00
Giacomo Pozzoni
9af6bf15aa CI/CircleCI: Expose binaries built on Circle CI as docker images in the Circle CI artifacts (#25832)
Co-authored-by: Shauren <shauren.trinity@gmail.com>
2021-01-16 21:30:57 +01:00
jackpoz
ed975ef4c0 CI/Circle CI: Add codestyle check
Don't leave 2 blank lines, 1 is enough.
2021-01-03 11:50:56 +01:00
Kelno
06d3987125 Contrib/EnumUtils: Fixed enumutils_describe.py matching every extension ending with a 'h' (like .sh) instead of only .h file (PR #25462) 2020-09-16 14:39:23 +02:00
Treeston
88d446dadf Scripts/Commands: Convert argument parsing of .npc commands
(And I snuck some chat command cleanup in there, more de-cluttering!)
2020-09-04 00:58:23 +02:00
Treeston
91744de316 Common/Utilities: Move EnumUtils' implementation struct from Trinity::Impl to Trinity::Impl::EnumUtilsImpl. This avoids confusing name clashes for other implementations in sub-namespaces of Trinity::Impl. 2020-08-23 15:05:04 +02:00
Peter Keresztes Schmidt
4286e7aa02 Core/ChatCommands: Check whether a passed numeric enum value is valid (#25285) 2020-08-20 00:46:52 +02:00
Treeston
6116e5b385 Core/Warden: Warden refactors (PR #25235) 2020-08-11 18:04:36 +02:00
jackpoz
df8d50c06a Core/Metric: Include Creatures and Gameobjects panels in the Performance Profiling dashboard 2020-08-04 14:17:07 +02:00
jackpoz
5cd93df9ee Core/Metric: Add new metric in World::UpdateSessions()
Add new metric about how long adding sessions took
2020-07-28 17:49:51 +02:00
Giacomo Pozzoni
8a2c79c850 Core/Metric: Log detailed metrics about each opcode handler (#25153)
* Core/Metric: Log detailed metrics about each opcode handler

* Add new panel to Performance profiling dashboard and use fill(0) instead of fill(none)

* Add new settings Metric.Threshold.* to be able to specify the minimum threshold for the specified metrics

* Update dashboard

* Change thresholds to be required to send the metrics. A TC_METRIC_DETAILED_TIMER metric with an expected threshold not configured will be ignored

* Use typedef Milliseconds

* Refresh realms on load
2020-07-28 14:27:54 +02:00
jackpoz
f9972f2473 Core/Metric: Fix setting in Performance profiling dashboard 2020-07-27 14:56:59 +02:00
Giacomo Pozzoni
36ef487a90 Core/Metric: Add new cmake option WITH_DETAILED_METRICS to enable more metrics (#25136)
* Core/Metric: Add new cmake option WITH_DETAILED_METRICS to enable more metrics

Add more detailed metrics in World::UpdateSessions().

* Attempt using C++17 features

* Fix cmake typo

Co-authored-by: NoName <322016+Faq@users.noreply.github.com>

* Fix build with WITHOUT_METRICS

* Update Performance profiling dashboard with Update sessions panel

* Add panel to show sessions with update time above 100 ms

* Move legends on the right and add max update time diff in the legend of sessions

Co-authored-by: NoName <322016+Faq@users.noreply.github.com>
2020-07-27 14:00:28 +02:00
Giacomo Pozzoni
3c0ac7302f Core/Metric: Add more metrics about World::Update() loop (#25098)
* Core/Metric: Add more metrics about World::Update() loop

* Add new Performance profiling grafana dashboard

* Add new cmake setting WITHOUT_METRICS that disables all metrics

As new metrics are added, someone might want to disable them if unused.

* Add more metrics about World::Update() loop

* Remove old performance profiling features

Remove "server set difftime" command, "-RecordUpdateTimeDiffInterval" and "MinRecordUpdateTimeDiff" worldserver config settings and their related code.
The whole UpdateTime class could be removed too.

* Update and rename 2020_07_99_99_world.sql to 2020_07_24_00_world.sql
2020-07-24 00:30:16 +02:00
Giacomo Pozzoni
5eb742ee6a Core/Metric: Log Map::Update() times (#25067)
* Core/Metric: Log Map::Update() times

* Add more performant version to reduce allocations when metrics are disabled

* Linux build fix

* Add metric stopwatch version that doesnt let users forget to _END it

* Fix linux build

* Code cleanup

* Add Map updates panel to General dashboard

* Add "Recent events" panel to General dashboard

* Apply latest codestyle changes

Co-authored-by: Shauren <shauren.trinity@gmail.com>
2020-07-18 00:52:01 +02:00
Giacomo Pozzoni
4e1dbd1cf8 Log number of Creatures and GameObject per map (#24809)
* Shared/Metric: Allow to specify tags in metrics

* Core/Metric: Log number of Creatures and GameObject per map

* Apply feedback

* Codestyle changes

* Codestyle changes

* Remove whitespace

* Update Grafana dashboards to v7.0.3

* Fix missing filter on realm

* Include Creatures and Gameobjects in Maps dashboard

* Show instances with a different color
2020-06-20 00:04:01 +02:00
Shauren
58d3f17430 Misc: Made gdb crash reporting script more automation friendly
* Don't block on successful exit
* Generate timestamped filenames to avoid overwriting old logs
2020-05-08 16:39:34 +02:00
Shauren
0d0d005a2e Misc: Improve gdb script output
* Switch disassembly to intel syntax
* Remove terminal colors
* Remove terminal line wrapping and pagination
* Start versioning the script
2020-04-22 11:58:51 +02:00
jackpoz
dcd2ffdaf4 CI/Circle CI: Show codestyle instructions
Show a short comment about how to fix the codestyle errors
2020-04-07 21:43:47 +02:00
jackpoz
5f29577f63 CI/Circle CI: Add codestyle check
Tabs are not allowed, use 4 spaces instead
2020-04-05 19:11:00 +02:00
jackpoz
0017c7a082 CI/Circle CI: Add codestyle check
Whitespace at the end of lines is not allowed
2020-04-05 19:10:59 +02:00
jackpoz
4f88be63e7 CI/Circle CI: Add support to multiline regex 2020-04-05 19:10:57 +02:00
jackpoz
af1260c40e CI/Circle CI: Add codestyle check
ObjectGuid::GetCounter() should not be called in logs, use ObjectGuid::ToString().c_str() instead
2020-04-05 19:10:56 +02:00
jackpoz
32c9f1c7a2 CI/Circle CI: Enforce codestyle checks 2020-04-05 19:10:55 +02:00
Teppic1
1d78fb2cd4 Add bash script for extracting client files (#24215)
* Add bash script for extracting client files

Simple bash script to automate extracting/copying client files on a Linux system.

It follows the instructions on the wiki but additionally copies camera files if found. It includes a few simple checks.

* Update extractor.sh

Client and server directories are now requested unless already set as environment variables.

* Fix client check

* Update contrib/extractor.sh

Clearer error

Co-Authored-By: Trond B. Krokli <38162891+illfated@users.noreply.github.com>

Co-authored-by: Trond B. Krokli <38162891+illfated@users.noreply.github.com>
2020-03-08 13:32:31 +01:00
Aokromes
ed93932537 New year
Say bye bye to every year changing dates
2020-01-02 06:25:50 +01:00
Treeston
b2b7ae8898 Contrib/Misc: There, build fix. 19d71fb follow-up. 2019-07-30 12:04:26 +02:00
Treeston
19d71fb206 Contrib/Misc: Allow enumutils_describe.py to better deal with commented-out enum lines 2019-07-30 11:42:08 +02:00
Treeston
e813200e5e Core/Misc: Kick a Totem error log upstairs one stack frame to give it access to various debug info and make Aokromes happy. 2019-07-29 21:37:15 +02:00
Aokromes
58c5dfac1d Misc/Extractor: Clarify a bit 2019-02-14 08:57:56 +01:00
Giacomo Pozzoni
cb6439bacd Circle CI (#22982)
* Build/CI: Add Circle CI

* Fix travis
2019-01-26 20:46:33 +01:00
Treeston
fcfcb0eb6f Happy New Year, folks. It's 2019! 2019-01-01 15:45:25 +01:00
Treeston
8836fc3903 Core/Misc: Update description text for SpellAttr4 2018-11-14 19:37:10 +01:00
Shauren
f6b0d99e2c GCC build fix
Closes #22785
2018-11-12 00:39:53 +01:00
Treeston
c16d461e16 Core/Util: Redesign SmartEnum to properly work for large enums (>64 entries) and play nice with IDEs (PR #22768) 2018-11-11 17:52:41 +01:00
Aokromes
5fd03bb472 Misc: Make extractor more clear for some users 2018-09-11 13:24:22 +02:00
Shauren
62db1fb683 Core/CrashHandler: Include assertion messages in crash reports 2018-08-29 23:59:24 +02:00
Aokromes
313bc2cb30 Update merge_updates_unix.sh 2018-04-08 12:04:37 +02:00
Aokromes
1c0e19dfcf Make codacy happy 2018-04-08 12:04:17 +02:00
Aokromes
959fffe0df Update merge_updates_unix.sh 2018-04-08 12:03:52 +02:00
tkrokli
f6b6f57a6d Update copyright note for 2018
Best wishes for the new year.
2018-01-01 01:55:29 +01:00
cribolouf
e38852c5d6 Optimize and Streamline Extractor.bat 2017-07-17 11:26:43 +02:00
tkrokli
9c1a426202 Contrib/Windows: extractor.bat cleanup
- Missing GOTO label :EOF at the end of the file
- Messages to user are in full English sentences.
2017-07-14 06:50:41 +02:00
Aokromes
d5ccd17175 Update extractor.bat 2017-02-25 10:37:39 +01:00
Aokromes
207c306937 Tools: Make extractor better, add mmaps extractor multitask 2017-02-11 05:45:01 +01:00
tkrokli
6a51a88767 Update Copyright notice for 2017
Happy new year!
2017-01-02 19:52:45 +01:00
martin26
869e4eade5 Fixed path for world updates (#17639) 2016-07-20 20:06:48 +02:00