* 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
(cherry picked from commit 96dc110f4a)
* 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>
(cherry picked from commit 84ad438d15)
* 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 . 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.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>
(cherry picked from commit 3a61fe3c31)
* 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
(cherry picked from commit 8a2c79c850)
* 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>
(cherry picked from commit 36ef487a90)
* 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
(cherry picked from commit 3c0ac7302f)
* 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>
(cherry picked from commit 5eb742ee6a)
* 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
(cherry picked from commit 4e1dbd1cf8)
* 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>
(cherry picked from commit 1d78fb2cd4)
- Added SmartEnum.h for enum iteration, stringification, and more, courtesy of krabicezpapundeklu/smart_enum
- Moved a bunch of enums in SharedDefines.h to the new system
- Miscellaneous utility methods ported
Core/Util: Redesign SmartEnum to properly work for large
enums (>64 entries) and play nice with IDEs (PR #22768)
(cherry picked from commit 338e8ba0fe)
(cherry picked from commit f7ca0877a3)
(cherry picked from commit 207093475a)
(cherry picked from commit ee68cf3392)
(cherry picked from commit c16d461e16)
(cherry picked from commit f6b0d99e2c)
(cherry picked from commit bc1f456125)
* Circle CI (#22982)
* Build/CI: Add Circle CI
* Fix travis
(cherry picked from commit cb6439bacd)
* CI/CircleCI: Add parallel no-pch build
(cherry picked from commit 33c58b4aaf)
* CI/CircleCI: Use ccache for nopch
(cherry picked from commit 6bcf5c64c4)
* CI/CircleCI: Change base docker image to custom-built trinitycore one
(cherry picked from commit 37beeb1282)
* CI/CircleCI: Switch to Ubuntu 18.10
(cherry picked from commit 6dfb4fde07)
* CI/CircleCI: Switch to Ubuntu 19.04
(cherry picked from commit 9009c82a8d)
* CI/Circle CI: Reduce ccache size from 5G to 1G
This should speedup Circle CI cache saving and in turn no-pch build
(cherry picked from commit 1b543ac16d)
* CI/Circle CI: Adjust config for master branch
Co-authored-by: Giacomo Pozzoni <giacomopoz@gmail.com>