* 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 96dc110f4a353871ac74c82ff4b1bcc4c34156f3)
* 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 <[email protected]>
(cherry picked from commit 84ad438d15cffd7dca0e67d540cd41946b946bed)
* 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 <[email protected]>
Co-authored-by: Giacomo Pozzoni <[email protected]>
(cherry picked from commit 3a61fe3c31b3fc61d3b881196319ccd96d69c7e4)
* 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 8a2c79c850199a73fd431d04f83d6aa89733060d)
* 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 <[email protected]>
* 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 <[email protected]>
(cherry picked from commit 36ef487a90d0d14c4da8ce7e19b5916b8b15056c)
* 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 3c0ac7302f902d1811d2c215217a3d701f8b5b19)
* 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 <[email protected]>
(cherry picked from commit 5eb742ee6a892b684b0c4cbde9f02f838b8300e5)
* 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 4e1dbd1cf808c9cf1f310b6d498f7e304dfb4147)
* Don't block on successful exit
* Generate timestamped filenames to avoid overwriting old logs
(cherry picked from commit 58d3f17430bb0ab64c9da157bdbc842098d96370)
ObjectGuid::GetCounter() should not be called in logs, use ObjectGuid::ToString().c_str() instead
(cherry picked from commit af1260c40e333e0d2d506128099f8263f5f2304f)
* 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 <[email protected]>
Co-authored-by: Trond B. Krokli <[email protected]>
(cherry picked from commit 1d78fb2cd45c43d9132019dfb4bea35cc5efc3bd)
- 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 338e8ba0fea8b4b15120c96fff15a6c4b1a52593)
(cherry picked from commit f7ca0877a3736000a6e3b4ed09ac5f08b4d8e3f0)
(cherry picked from commit 207093475a177e9fd29696e80fdd06a11324782d)
(cherry picked from commit ee68cf33921944fd3f8c188044906998cf10ff2a)
(cherry picked from commit c16d461e16f0704bb11040faff30953d33ba2188)
(cherry picked from commit f6b0d99e2c0bc22b44d6f3cfdae50cbba7d51de8)
(cherry picked from commit bc1f456125c1b6c90617a514152d69c40ce64886)
* Circle CI (#22982)
* Build/CI: Add Circle CI
* Fix travis
(cherry picked from commit cb6439bacd8b5d10ef2a4d2eb4e8ab2f950e4ffd)
* CI/CircleCI: Add parallel no-pch build
(cherry picked from commit 33c58b4aaf4afc8ca13c1d07c65d66e6beb6bedb)
* CI/CircleCI: Use ccache for nopch
(cherry picked from commit 6bcf5c64c489175da41acf7739f156319a00f5f9)
* CI/CircleCI: Change base docker image to custom-built trinitycore one
(cherry picked from commit 37beeb1282c24fc584f5f524279df408779c5d5b)
* CI/CircleCI: Switch to Ubuntu 18.10
(cherry picked from commit 6dfb4fde07082498a264ca0802ebdeb0bf3fa994)
* CI/CircleCI: Switch to Ubuntu 19.04
(cherry picked from commit 9009c82a8db2bdb433cba17820af8b0cef8e28e3)
* 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 1b543ac16dd61ac6e1f8f00fee28156234c7e73f)
* CI/Circle CI: Adjust config for master branch
Co-authored-by: Giacomo Pozzoni <[email protected]>