Giter Site home page Giter Site logo

linoxgh / lagmonitor Goto Github PK

View Code? Open in Web Editor NEW

This project forked from games647/lagmonitor

0.0 1.0 0.0 613 KB

Monitor performance of your Minecraft server. Similar to VisualVM and Java Mission Control.

Home Page: https://dev.bukkit.org/bukkit-plugins/lagmonitor/

License: MIT License

Java 100.00%

lagmonitor's Introduction

LagMonitor

Description

Gives you the possibility to monitor your server performance. This plugin is based on the powerful tools VisualVM and Java Mission Control, both provided by Oracle. This plugin gives you the possibility to use the features provided by these tools also in Minecraft itself. This might be useful for server owners/administrators who cannot use the tools.

Furthermore it especially made for Minecraft itself. So you can also check your TPS (Ticks per seconds), player ping, server timings and so on.

Features

  • Player ping
  • Offline Java version checker
  • Thread safety checks
  • Many details about your setup like Hardware (Disk, Processor, ...) and about your OS
  • Sample CPU usage
  • Analyze RAM usage
  • Access to Stacktraces of running threads
  • Shows your ticks per second with history
  • Shows system performance usage
  • Visual graphs in-game
  • In-game timings viewer
  • Access to Java environment variables (mbeans)
  • Plugin specific profiles
  • Blocking operations on the main thread check
  • Make Heap and Thread dumps
  • Create Java Flight Recorder dump and analyze it later on your own computer
  • Log the server performance into a MySQL/MariaDB database

Requirements

  • Java 8+
  • Spigot 1.8.8+ or a fork of it (ex: Paper)

Permissions

lagmonitor.* - Access to all LagMonitor features

lagmonitor.commands.* - Access to all commands

All command permissions

  • lagmonitor.command.ping
  • lagmonitor.command.ping.other
  • lagmonitor.command.stacktrace
  • lagmonitor.command.thread
  • lagmonitor.command.tps
  • lagmonitor.command.mbean
  • lagmonitor.command.system
  • lagmonitor.command.environment
  • lagmonitor.command.timing
  • lagmonitor.command.monitor
  • lagmonitor.command.graph
  • lagmonitor.command.native
  • lagmonitor.command.vm
  • lagmonitor.command.network
  • lagmonitor.command.tasks
  • lagmonitor.command.heap
  • lagmonitor.command.jfr

Commands

/ping - Gets your server ping
/ping <player> - Gets the ping of the selected player
/stacktrace - Gets the execution stacktrace of the current thread
/stacktrace <threadName> - Gets the execution stacktrace of selected thread
/thread - Outputs all running threads with their current state
/tpshistory - Outputs the current tps
/mbean - List all available mbeans (java environment information, JMX)
/mbean <beanName> - List all available attributes of this mbean
/mbean <beanName> <attribute> - Outputs the value of this attribute
/system - Gives you some general information (Minecraft server related)
/env - Gives you some general information (OS related)
/timing - Outputs your server timings ingame
/monitor [start|stop|paste] - Monitors the CPU usage of methods
/graph [heap|cpu|threads|classes] - Gives you visual graph about your server (currently only the heap usage)
/native - Gives you some native os information
/vm - Outputs vm specific information like garbage collector, class loading or vm specification
/network - Shows network interface configuration
/tasks - Information about running and pending tasks
/heap - Heap dump about your current memory
/lagpage <next|prev|pageNumber|save|all> - Pagination command for the current pagination session
/jfr <start|stop|dump> - Manages the Java Flight Recordings of the native Java VM. It gives you much more detailed
    information including network communications, file read/write times, detailed heap and thread data, ...

Development builds

Development builds of this project can be acquired at the provided CI (continuous integration) server. It contains the latest changes from the Source-Code in preparation for the following release. This means they could contain new features, bug fixes and other changes since the last release.

Nevertheless builds are only tested using a small set of automated and a few manual tests. Therefore they could contain new bugs and are likely to be less stable than released versions.

https://ci.codemc.org/job/Games647/job/LagMonitor/changes

Network requests

This plugin performs network requests to:

Reproducible builds

This project supports reproducible builds for enhanced security. In short, this means that the source code matches the generated built jar file. Outputs could vary by operating system (line endings), different JDK versions and build timestamp. You can extract this using build-info. Once you have the configuration to use the same line endings and JDK version, you can use the following command to inject a custom build timestamp in order to complete the configuration.

mvn clean install -Dproject.build.outputTimestamp=DATE

Images

Heap command

heap command

Timing command

timing command

CPU Graph (blue=process, yellow=system) - Process load

cpu graph

Stacktrace and Threads command

stacktrace and threads

Ping Command

ping command

Thread Sampler (Monitor command)

thread sample

System command

system command

Environment command

environment command

Heap usage graph (yellow=allocated, blue=used)

heap usage map

lagmonitor's People

Contributors

br3uxi avatar dependabot-preview[bot] avatar ehcanadian avatar games647 avatar sternenforscher avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.