Package org.kitteh.vanish.metrics

Source Code of org.kitteh.vanish.metrics.MetricsOverlord

package org.kitteh.vanish.metrics;

import org.bukkit.plugin.PluginManager;
import org.kitteh.vanish.VanishPlugin;

public final class MetricsOverlord {
    private static Tracker command = new Tracker("");
    private static Tracker vanish = new Tracker("");
    private static Tracker unvanish = new Tracker("");
    private static Tracker toggle = new Tracker("");
    private static Tracker startup = new Tracker("");
    private static Tracker fakejoin = new Tracker("");
    private static Tracker fakequit = new Tracker("");
    private static Tracker quitinvis = new Tracker("");
    private static Tracker joininvis = new Tracker("");
    private static Metrics metrics;

    private static final String[] PERMS_PLUGINS = { "DroxPerms", "GroupManager", "PermissionsBukkit", "PermissionsEx", "Privileges", "SimplyPerms", "Starburst", "bPermissions", "zPermissions" };

    public static Tracker getCommandTracker() {
        return MetricsOverlord.command;
    }

    public static Tracker getFakejoinTracker() {
        return MetricsOverlord.fakejoin;
    }

    public static Tracker getFakequitTracker() {
        return MetricsOverlord.fakequit;
    }

    public static Tracker getJoinInvisTracker() {
        return MetricsOverlord.joininvis;
    }

    public static Tracker getQuitInvisTracker() {
        return MetricsOverlord.quitinvis;
    }

    public static Tracker getToggleTracker() {
        return MetricsOverlord.toggle;
    }

    public static Tracker getUnvanishTracker() {
        return MetricsOverlord.unvanish;
    }

    public static Tracker getVanishTracker() {
        return MetricsOverlord.vanish;
    }

    public static void init(VanishPlugin plugin) {
        MetricsOverlord.command = new Tracker("Command");
        MetricsOverlord.vanish = new Tracker("Vanish");
        MetricsOverlord.unvanish = new Tracker("Unvanish");
        MetricsOverlord.toggle = new Tracker("Toggles");
        MetricsOverlord.startup = new Tracker("Startups");
        MetricsOverlord.startup.increment();
        MetricsOverlord.fakejoin = new Tracker("Fake Joins");
        MetricsOverlord.fakequit = new Tracker("Fake Quits");
        MetricsOverlord.quitinvis = new Tracker("Silent Quit");
        MetricsOverlord.joininvis = new Tracker("Silent Join");
        try {
            MetricsOverlord.metrics = new Metrics(plugin);
            MetricsOverlord.metrics.addCustomData(MetricsOverlord.command);
            MetricsOverlord.metrics.addCustomData(MetricsOverlord.vanish);
            MetricsOverlord.metrics.addCustomData(MetricsOverlord.unvanish);
            MetricsOverlord.metrics.addCustomData(MetricsOverlord.toggle);
            MetricsOverlord.metrics.addCustomData(MetricsOverlord.startup);
            MetricsOverlord.metrics.addCustomData(MetricsOverlord.fakejoin);
            MetricsOverlord.metrics.addCustomData(MetricsOverlord.fakequit);
            MetricsOverlord.metrics.addCustomData(MetricsOverlord.quitinvis);
            MetricsOverlord.metrics.addCustomData(MetricsOverlord.joininvis);
            MetricsOverlord.metrics.createGraph("Permissions").addPlotter(new Counter(MetricsOverlord.getPermsPlugin(plugin)));
            MetricsOverlord.metrics.createGraph("Online Mode").addPlotter(new Counter(plugin.getServer().getOnlineMode() ? "Online" : "Offline"));
            MetricsOverlord.metrics.createGraph("TagAPI").addPlotter(new Counter(plugin.getServer().getPluginManager().isPluginEnabled("TagAPI") ? "Yup" : "Nope"));
            MetricsOverlord.metrics.start();
        } catch (final Exception e) {
        }
    }

    private static String getPermsPlugin(VanishPlugin plugin) {
        final PluginManager pluginManager = plugin.getServer().getPluginManager();
        for (final String permsplugin : MetricsOverlord.PERMS_PLUGINS) {
            if (pluginManager.isPluginEnabled(permsplugin)) {
                return permsplugin;
            }
        }
        return "Unknown or None";
    }
}
TOP

Related Classes of org.kitteh.vanish.metrics.MetricsOverlord

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.