All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.graylog.plugins.usagestatistics.dto.ClusterStats Maven / Gradle / Ivy

There is a newer version: 2.2.0-alpha.1
Show newest version
/**
 * Copyright (C) 2015 Graylog, Inc. ([email protected])
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *         http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
package org.graylog.plugins.usagestatistics.dto;

import com.fasterxml.jackson.annotation.JsonAutoDetect;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.google.auto.value.AutoValue;
import org.graylog.plugins.usagestatistics.dto.elasticsearch.ElasticsearchClusterStats;
import org.graylog.plugins.usagestatistics.dto.elasticsearch.ElasticsearchNodeInfo;

import java.util.Map;
import java.util.Set;

@JsonAutoDetect
@AutoValue
public abstract class ClusterStats {
    public static ClusterStats create(ElasticsearchClusterStats elasticsearchCluster,
                                      Set elasticsearchNodes,
                                      MongoStats mongo,
                                      Set collectors,
                                      long streamCount,
                                      long streamRuleCount,
                                      Map streamRuleCountByStream,
                                      long userCount,
                                      long outputCount,
                                      Map outputCountByType,
                                      long dashboardCount,
                                      long inputCount,
                                      long globalInputCount,
                                      Map inputCountByType,
                                      long extractorCount,
                                      Map extractorCountByType,
                                      long contentPackCount,
                                      long totalMessages,
                                      Map streamThroughput,
                                      LdapStats ldapStats,
                                      AlarmStats alarmStats
    ) {
        return new AutoValue_ClusterStats(
                elasticsearchCluster,
                elasticsearchNodes,
                mongo,
                collectors,
                streamCount,
                streamRuleCount,
                streamRuleCountByStream,
                userCount,
                outputCount,
                outputCountByType,
                dashboardCount,
                inputCount,
                globalInputCount,
                inputCountByType,
                extractorCount,
                extractorCountByType,
                contentPackCount,
                totalMessages,
                streamThroughput,
                ldapStats,
                alarmStats);
    }

    @JsonProperty
    public abstract ElasticsearchClusterStats elasticsearchCluster();

    @JsonProperty
    public abstract Set elasticsearchNodes();

    @JsonProperty
    public abstract MongoStats mongo();

    @JsonProperty
    public abstract Set collectors();

    @JsonProperty
    public abstract long streamCount();

    @JsonProperty
    public abstract long streamRuleCount();

    @JsonProperty
    public abstract Map streamRuleCountByStream();

    @JsonProperty
    public abstract long userCount();

    @JsonProperty
    public abstract long outputCount();

    @JsonProperty
    public abstract Map outputCountByType();

    @JsonProperty
    public abstract long dashboardCount();

    @JsonProperty
    public abstract long inputCount();

    @JsonProperty
    public abstract long globalInputCount();

    @JsonProperty
    public abstract Map inputCountByType();

    @JsonProperty
    public abstract long extractorCount();

    @JsonProperty
    public abstract Map extractorCountByType();

    @JsonProperty
    public abstract long contentPackCount();

    @JsonProperty
    public abstract long totalMessages();

    @JsonProperty
    public abstract Map streamThroughput();

    @JsonProperty
    public abstract LdapStats ldapStats();

    @JsonProperty
    public abstract AlarmStats alarmStats();
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy