aboutsummaryrefslogtreecommitdiffstats
path: root/mdbc-benchmark/src
diff options
context:
space:
mode:
Diffstat (limited to 'mdbc-benchmark/src')
-rw-r--r--mdbc-benchmark/src/main/java/org/onap/music/mdbc/BenchmarkUtils.java245
-rw-r--r--mdbc-benchmark/src/main/java/org/onap/music/mdbc/MetricBenchmark.java141
-rw-r--r--mdbc-benchmark/src/main/java/org/onap/music/mdbc/MetricCommitBenchmark.java141
-rw-r--r--mdbc-benchmark/src/main/java/org/onap/music/mdbc/MetricStatementBenchmark.java144
-rwxr-xr-xmdbc-benchmark/src/main/resources/logback.xml369
5 files changed, 0 insertions, 1040 deletions
diff --git a/mdbc-benchmark/src/main/java/org/onap/music/mdbc/BenchmarkUtils.java b/mdbc-benchmark/src/main/java/org/onap/music/mdbc/BenchmarkUtils.java
deleted file mode 100644
index 06f2a95..0000000
--- a/mdbc-benchmark/src/main/java/org/onap/music/mdbc/BenchmarkUtils.java
+++ /dev/null
@@ -1,245 +0,0 @@
-/*
- * ============LICENSE_START====================================================
- * org.onap.music.mdbc
- * =============================================================================
- * Copyright (C) 2019 AT&T Intellectual Property. All rights reserved.
- * =============================================================================
- * 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.
- * ============LICENSE_END======================================================
- */
-package org.onap.music.mdbc;
-
-import java.sql.Connection;
-import java.sql.DriverManager;
-import java.sql.SQLException;
-import java.sql.Statement;
-import java.util.Properties;
-
-public class BenchmarkUtils {
- public static final String driver = "org.apache.calcite.avatica.remote.Driver";
- public static final String mariaDriver = "org.mariadb.jdbc.Driver";
- public static final String postgresDriver = "org.postgresql.Driver";
- public static String TABLE;
- public static String updateBuilder;
-
- public enum ExecutionType {
- MARIA_DB, COCKROACH_DB, METRIC,POSTGRES
- }
-
- public static void SetupTable(String table){
- TABLE=table;
- updateBuilder = new StringBuilder()
- .append("UPDATE ")
- .append(table)
- .append(" SET Counter = Counter + 1,")
- .append("City = 'Sandy Springs'")
- .append(";").toString();
- }
-
- public static void setupCreateTables(Connection connection){
- createTable(connection);
- try {
- connection.close();
- } catch (SQLException e) {
- e.printStackTrace();
- System.exit(1);
- }
- }
-
- public static void setupCreateRows(Connection testConnection, int rows){
- //Empty database
- boolean cleanResult = BenchmarkUtils.cleanTable(testConnection);
- //Add new lines
- BenchmarkUtils.addRowsToTable(Integer.valueOf(rows),testConnection);
-
- //Commit
- try {
- testConnection.commit();
- } catch (SQLException e) {
- e.printStackTrace();
- System.exit(1);
- }
- }
-
- public static Connection getConnection(String ip, ExecutionType type, String user, String password) {
- final String connectionUrl = "jdbc:avatica:remote:url=http://" + ip + ":30000;serialization=protobuf";
- final String mariaConnectionUrl = "jdbc:mariadb://" + ip + ":3306/test";
- final String cockroachUrl = "jdbc:postgresql://" + ip + ":26257/test";
- final String postgresUrl = "jdbc:postgresql://" + ip + ":5432/test";
-
- try {
- switch (type) {
- case MARIA_DB:
- Class.forName(mariaDriver);
- break;
- case METRIC:
- Class.forName(driver);
- break;
- case COCKROACH_DB:
- case POSTGRES:
- Class.forName(postgresDriver);
- break;
- }
- } catch (ClassNotFoundException e) {
- e.printStackTrace();
- System.exit(1);
- }
- Connection connection = null;
- try {
- if (type == ExecutionType.METRIC) {
- connection = DriverManager.getConnection(connectionUrl);
- } else {
- Properties connectionProps = new Properties();
- connectionProps.put("user", user);
- if (type == ExecutionType.COCKROACH_DB) {
- connectionProps.setProperty("sslmode", "disable");
- } else {
- connectionProps.put("password", password);
- }
- final String url = (type == ExecutionType.MARIA_DB) ? mariaConnectionUrl :
- (type == ExecutionType.COCKROACH_DB)?cockroachUrl:postgresUrl;
- connection = DriverManager.getConnection(url, connectionProps);
- }
- } catch (SQLException e) {
- e.printStackTrace();
- System.exit(1);
- }
- try {
- connection.setAutoCommit(false);
- } catch (SQLException e) {
- e.printStackTrace();
- System.exit(1);
- }
- return connection;
- }
-
- public static void createTable(Connection connection) {
- final String sql = "CREATE TABLE IF NOT EXISTS "+TABLE+" (\n" +
- " PersonID int,\n" +
- " Counter int,\n" +
- " LastName varchar(255),\n" +
- " FirstName varchar(255),\n" +
- " Address varchar(255),\n" +
- " City varchar(255),\n" +
- " PRIMARY KEY(PersonID)"+
- ");";
-
- Statement stmt = null;
- try {
- stmt = connection.createStatement();
- } catch (SQLException e) {
- e.printStackTrace();
- System.exit(1);
- }
-
- Boolean execute = null;
- try {
- execute = stmt.execute(sql);
- } catch (SQLException e) {
- e.printStackTrace();
- System.exit(1);
- }
-
- try {
- connection.commit();
- } catch (SQLException e) {
- e.printStackTrace();
- System.exit(1);
- }
-
- try {
- stmt.close();
- } catch (SQLException e) {
- e.printStackTrace();
- System.exit(1);
- }
- }
-
- public static boolean cleanTable(Connection testConnection) {
- String cleanCmd = "DELETE FROM "+TABLE+";";
- Statement stmt = null;
- try {
- stmt = testConnection.createStatement();
- } catch (SQLException e) {
- e.printStackTrace();
- System.exit(1);
- }
-
- Boolean execute = null;
- try {
- execute = stmt.execute(cleanCmd);
- } catch (SQLException e) {
- e.printStackTrace();
- System.exit(1);
- }
- try {
- testConnection.commit();
- } catch (SQLException e) {
- e.printStackTrace();
- System.exit(1);
- }
- try {
- stmt.close();
- } catch (SQLException e) {
- e.printStackTrace();
- System.exit(1);
- }
- return execute;
- }
-
- public static void addRowsToTable(int totalNumberOfRows, Connection testConnection) {
- for (int i = 0; i < totalNumberOfRows; i++) {
- final StringBuilder insertSQLBuilder = new StringBuilder()
- .append("INSERT INTO "+TABLE+" VALUES (")
- .append(i)
- .append(", ")
- .append(0)
- .append(", '")
- .append("Last-")
- .append(i)
- .append("', '")
- .append("First-")
- .append(i)
- .append("', 'KACB', 'ATLANTA');");
- Statement stmt = null;
- try {
- stmt = testConnection.createStatement();
- } catch (SQLException e) {
- e.printStackTrace();
- System.exit(1);
- }
-
- Boolean execute = null;
- try {
- execute = stmt.execute(insertSQLBuilder.toString());
- } catch (SQLException e) {
- e.printStackTrace();
- System.exit(1);
- }
- try {
- stmt.close();
- } catch (SQLException e) {
- e.printStackTrace();
- System.exit(1);
- }
- }
- try {
- testConnection.commit();
- } catch (SQLException e) {
- e.printStackTrace();
- System.exit(1);
- }
- }
-
-
-}
diff --git a/mdbc-benchmark/src/main/java/org/onap/music/mdbc/MetricBenchmark.java b/mdbc-benchmark/src/main/java/org/onap/music/mdbc/MetricBenchmark.java
deleted file mode 100644
index 19db6f4..0000000
--- a/mdbc-benchmark/src/main/java/org/onap/music/mdbc/MetricBenchmark.java
+++ /dev/null
@@ -1,141 +0,0 @@
-/*
- * ============LICENSE_START====================================================
- * org.onap.music.mdbc
- * =============================================================================
- * Copyright (C) 2019 AT&T Intellectual Property. All rights reserved.
- * =============================================================================
- * 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.
- * ============LICENSE_END======================================================
- */
-package org.onap.music.mdbc;
-
-import static org.onap.music.mdbc.BenchmarkUtils.setupCreateRows;
-import static org.onap.music.mdbc.BenchmarkUtils.setupCreateTables;
-
-import org.onap.music.mdbc.BenchmarkUtils.ExecutionType;
-import org.openjdk.jmh.annotations.*;
-import org.openjdk.jmh.infra.Blackhole;
-import org.openjdk.jmh.runner.Runner;
-import org.openjdk.jmh.runner.RunnerException;
-import org.openjdk.jmh.runner.options.Options;
-import org.openjdk.jmh.runner.options.OptionsBuilder;
-
-import java.sql.Connection;
-import java.sql.SQLException;
-import java.sql.Statement;
-import java.util.concurrent.TimeUnit;
-
-@BenchmarkMode({Mode.AverageTime, Mode.SampleTime})
-@OutputTimeUnit(TimeUnit.MILLISECONDS)
-@State(Scope.Benchmark)
-public class MetricBenchmark {
-
- public static void main(String[] args) throws RunnerException {
- Options opt = new OptionsBuilder()
- .include(MetricBenchmark.class.getSimpleName())
- .param("type", ExecutionType.METRIC.name())
- .forks(0)
- .threads(1)
- .build();
- new Runner(opt).run();
- }
-
- @Benchmark
- public boolean testMethod(MyState state, Blackhole blackhole) {
- Statement stmt = null;
- try {
- stmt = state.testConnection.createStatement();
- } catch (SQLException e) {
- e.printStackTrace();
- System.exit(1);
- }
-
- Boolean execute = null;
- try {
- execute = stmt.execute(state.update);
- } catch (SQLException e) {
- e.printStackTrace();
- System.exit(1);
- }
- try {
- //TODO: check if state need to be consumed by blackhole to guarantee execution
- state.testConnection.commit();
- } catch (SQLException e) {
- e.printStackTrace();
- System.exit(1);
- }
- try {
- stmt.close();
- } catch (SQLException e) {
- e.printStackTrace();
- System.exit(1);
- }
- blackhole.consume(execute);
- return execute;
- }
-
-
- @State(Scope.Benchmark)
- public static class MyState {
- public String update;
- public final String driver = "org.apache.calcite.avatica.remote.Driver";
- public final String mariaDriver = "org.mariadb.jdbc.Driver";
- public final String cockroachDriver = "org.postgresql.Driver";
- final String user = "root";
- final String password = "metriccluster";
- @Param({"104.209.240.219"})
- public String ip;
- @Param({"PERSONS"})
- public String table;
- @Param({"1", "10", "50", "80", "100", "200", "300", "400"})
- public int rows;
- @Param({"MARIA_DB", "COCKROACH_DB", "METRIC", "POSTGRES"})
- public ExecutionType type;
-
- public Connection testConnection;
-
-
- private Connection createConnection() {
- return BenchmarkUtils.getConnection(ip,type,user,password);
- }
-
- @Setup(Level.Trial)
- public void doTrialSetup(){
- BenchmarkUtils.SetupTable(table);
- update = BenchmarkUtils.updateBuilder;
- }
-
- @Setup(Level.Iteration)
- public void doSetup() {
- Connection connection = createConnection();
- setupCreateTables(connection);
- //Setup connection
- testConnection = createConnection();
- setupCreateRows(testConnection,rows);
-
- }
-
- @TearDown(Level.Iteration)
- public void doTearDown() {
- System.out.println("Do TearDown");
- try {
- testConnection.close();
- } catch (SQLException e) {
- e.printStackTrace();
- System.exit(1);
- }
- }
-
-
- }
-}
diff --git a/mdbc-benchmark/src/main/java/org/onap/music/mdbc/MetricCommitBenchmark.java b/mdbc-benchmark/src/main/java/org/onap/music/mdbc/MetricCommitBenchmark.java
deleted file mode 100644
index 803a162..0000000
--- a/mdbc-benchmark/src/main/java/org/onap/music/mdbc/MetricCommitBenchmark.java
+++ /dev/null
@@ -1,141 +0,0 @@
-/*
- * ============LICENSE_START====================================================
- * org.onap.music.mdbc
- * =============================================================================
- * Copyright (C) 2019 AT&T Intellectual Property. All rights reserved.
- * =============================================================================
- * 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.
- * ============LICENSE_END======================================================
- */
-package org.onap.music.mdbc;
-
-import static org.onap.music.mdbc.BenchmarkUtils.setupCreateRows;
-import static org.onap.music.mdbc.BenchmarkUtils.setupCreateTables;
-
-import org.onap.music.mdbc.BenchmarkUtils.ExecutionType;
-import org.openjdk.jmh.annotations.*;
-import org.openjdk.jmh.infra.Blackhole;
-import org.openjdk.jmh.runner.Runner;
-import org.openjdk.jmh.runner.RunnerException;
-import org.openjdk.jmh.runner.options.Options;
-import org.openjdk.jmh.runner.options.OptionsBuilder;
-
-import java.sql.Connection;
-import java.sql.SQLException;
-import java.sql.Statement;
-import java.util.concurrent.TimeUnit;
-
-@BenchmarkMode({Mode.AverageTime, Mode.SampleTime})
-@OutputTimeUnit(TimeUnit.MILLISECONDS)
-@State(Scope.Benchmark)
-public class MetricCommitBenchmark {
-
-
- public static void main(String[] args) throws RunnerException {
- Options opt = new OptionsBuilder()
- .include(MetricBenchmark.class.getSimpleName())
- .param("type", ExecutionType.METRIC.name())
- .forks(1)
- .threads(1)
- .build();
- new Runner(opt).run();
- }
-
- @Benchmark
- public void testMethod(MyState state) {
- try {
- state.testConnection.commit();
- } catch (SQLException e) {
- e.printStackTrace();
- System.exit(1);
- }
- }
-
-
- @State(Scope.Benchmark)
- public static class MyState {
-
- String update;
- final String user = "root";
- final String password = "metriccluster";
- @Param({"104.209.240.219"})
- public String ip;
- @Param({"1", "10", "50", "80", "100", "200", "300", "400"})
- public int rows;
- @Param({"MARIA_DB", "COCKROACH_DB", "METRIC","POSTGRES"})
- public ExecutionType type;
- @Param({"PERSONS"})
- public String table;
-
- public Connection testConnection;
-
- public Statement stmt;
-
- private Connection createConnection() {
- return BenchmarkUtils.getConnection(ip,type,user,password);
- }
-
- @Setup(Level.Trial)
- public void doTrialSetup(){
- BenchmarkUtils.SetupTable(table);
- update=BenchmarkUtils.updateBuilder;
- }
-
- @Setup(Level.Invocation)
- public void doInvocationSetup(){
- try {
- stmt = testConnection.createStatement();
- } catch (SQLException e) {
- e.printStackTrace();
- System.exit(1);
- }
- Boolean execute = null;
- try {
- execute = stmt.execute(update);
- } catch (SQLException e) {
- e.printStackTrace();
- System.exit(1);
- }
- }
-
- @TearDown(Level.Invocation)
- public void doInvocationTearDown(){
- try {
- stmt.close();
- } catch (SQLException e) {
- e.printStackTrace();
- System.exit(1);
- }
- }
-
- @Setup(Level.Iteration)
- public void doSetup() {
- Connection connection = createConnection();
- setupCreateTables(connection);
- //Setup connection
- testConnection = createConnection();
- setupCreateRows(testConnection,rows);
- }
-
- @TearDown(Level.Iteration)
- public void doTearDown() {
- System.out.println("Do TearDown");
- try {
- testConnection.close();
- } catch (SQLException e) {
- e.printStackTrace();
- System.exit(1);
- }
- }
- }
-}
diff --git a/mdbc-benchmark/src/main/java/org/onap/music/mdbc/MetricStatementBenchmark.java b/mdbc-benchmark/src/main/java/org/onap/music/mdbc/MetricStatementBenchmark.java
deleted file mode 100644
index 7dc950a..0000000
--- a/mdbc-benchmark/src/main/java/org/onap/music/mdbc/MetricStatementBenchmark.java
+++ /dev/null
@@ -1,144 +0,0 @@
-/*
- * ============LICENSE_START====================================================
- * org.onap.music.mdbc
- * =============================================================================
- * Copyright (C) 2019 AT&T Intellectual Property. All rights reserved.
- * =============================================================================
- * 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.
- * ============LICENSE_END======================================================
- */
-package org.onap.music.mdbc;
-
-import static org.onap.music.mdbc.BenchmarkUtils.setupCreateRows;
-import static org.onap.music.mdbc.BenchmarkUtils.setupCreateTables;
-
-import org.onap.music.mdbc.BenchmarkUtils.ExecutionType;
-import org.openjdk.jmh.annotations.*;
-import org.openjdk.jmh.infra.Blackhole;
-import org.openjdk.jmh.runner.Runner;
-import org.openjdk.jmh.runner.RunnerException;
-import org.openjdk.jmh.runner.options.Options;
-import org.openjdk.jmh.runner.options.OptionsBuilder;
-
-import java.sql.Connection;
-import java.sql.SQLException;
-import java.sql.Statement;
-import java.util.concurrent.TimeUnit;
-
-@BenchmarkMode({Mode.AverageTime, Mode.SampleTime})
-@OutputTimeUnit(TimeUnit.MILLISECONDS)
-@State(Scope.Benchmark)
-public class MetricStatementBenchmark {
-
-
- public static void main(String[] args) throws RunnerException {
- Options opt = new OptionsBuilder()
- .include(MetricBenchmark.class.getSimpleName())
- .param("type", ExecutionType.METRIC.name())
- .forks(1)
- .threads(1)
- .build();
- new Runner(opt).run();
- }
-
- @Benchmark
- public boolean testMethod(MyState state, Blackhole blackhole) {
- Boolean execute = null;
- try {
- execute = state.stmt.execute(state.update);
- } catch (SQLException e) {
- e.printStackTrace();
- System.exit(1);
- }
- blackhole.consume(execute);
- return execute;
- }
-
-
- @State(Scope.Benchmark)
- public static class MyState {
-
- public String update;
- final String user = "root";
- final String password = "metriccluster";
- @Param({"104.209.240.219"})
- public String ip;
- @Param({"1", "10", "50", "80", "100", "200", "300", "400"})
- public int rows;
- @Param({"MARIA_DB", "COCKROACH_DB", "METRIC","POSTGRES"})
- public ExecutionType type;
- @Param({"PERSONS"})
- public String table;
-
- public Connection testConnection;
-
- public Statement stmt;
-
- private Connection createConnection() {
- return BenchmarkUtils.getConnection(ip,type,user,password);
- }
-
- @Setup(Level.Trial)
- public void doTrialSetup(){
- BenchmarkUtils.SetupTable(table);
- update=BenchmarkUtils.updateBuilder;
- }
-
- @Setup(Level.Invocation)
- public void doInvocationSetup(){
- try {
- stmt = testConnection.createStatement();
- } catch (SQLException e) {
- e.printStackTrace();
- System.exit(1);
- }
- }
-
- @TearDown(Level.Invocation)
- public void doInvocationTearDown(){
- try {
- //TODO: check if state need to be consumed by blackhole to guarantee execution
- testConnection.commit();
- } catch (SQLException e) {
- e.printStackTrace();
- System.exit(1);
- }
- try {
- stmt.close();
- } catch (SQLException e) {
- e.printStackTrace();
- System.exit(1);
- }
- }
-
- @Setup(Level.Iteration)
- public void doSetup() {
- Connection connection = createConnection();
- setupCreateTables(connection);
- //Setup connection
- testConnection = createConnection();
- setupCreateRows(testConnection,rows);
- }
-
- @TearDown(Level.Iteration)
- public void doTearDown() {
- System.out.println("Do TearDown");
- try {
- testConnection.close();
- } catch (SQLException e) {
- e.printStackTrace();
- System.exit(1);
- }
- }
- }
-}
diff --git a/mdbc-benchmark/src/main/resources/logback.xml b/mdbc-benchmark/src/main/resources/logback.xml
deleted file mode 100755
index 4215681..0000000
--- a/mdbc-benchmark/src/main/resources/logback.xml
+++ /dev/null
@@ -1,369 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
- ============LICENSE_START==========================================
- mdbc
- ===================================================================
- Copyright © 2017 AT&T Intellectual Property. All rights reserved.
- ===================================================================
-
- Unless otherwise specified, all software contained herein is licensed
- under the Apache License, Version 2.0 (the “License”);
- you may not use this software 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.
-
- Unless otherwise specified, all documentation contained herein is licensed
- under the Creative Commons License, Attribution 4.0 Intl. (the “License”);
- you may not use this documentation except in compliance with the License.
- You may obtain a copy of the License at
-
- https://creativecommons.org/licenses/by/4.0/
-
- Unless required by applicable law or agreed to in writing, documentation
- 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.
-
- ============LICENSE_END============================================
-
-
- -->
-
-<configuration scan="false" scanPeriod="3 seconds" debug="true">
- <!--
- Logback files for the mdbc Driver "mdbc"
- are created in directory ${catalina.base}/logs/mdbc;
- e.g., apache-tomcat-8.0.35/logs/mdbc/application.log
- -->
- <!--<jmxConfigurator /> -->
-
- <!-- specify the component name -->
- <property name="catalina.home" value="/var/log/metric/"/>
- <property name="componentName" value="mdbc"></property>
-
- <!-- specify the base path of the log directory -->
- <property name="logDirPrefix" value="${catalina.base}/logs"></property>
-
- <!-- The directories where logs are written -->
- <property name="logDirectory" value="${logDirPrefix}/${componentName}"/>
- <!-- Can easily relocate debug logs by modifying this path. -->
- <property name="debugLogDirectory" value="${logDirPrefix}/${componentName}"/>
-
- <!-- log file names -->
- <property name="generalLogName" value="application"/>
- <property name="errorLogName" value="error"/>
- <property name="metricsLogName" value="metrics"/>
- <property name="auditLogName" value="audit"/>
- <property name="debugLogName" value="debug"/>
- <!--
- These loggers are not used in code (yet).
- <property name="securityLogName" value="security" />
- <property name="policyLogName" value="policy" />
- <property name="performanceLogName" value="performance" />
- <property name="serverLogName" value="server" />
- -->
-
- <!-- 1610 Logging Fields Format Revisions -->
- <property name="auditLoggerPattern"
- value="%X{AuditLogBeginTimestamp}|%X{AuditLogEndTimestamp}|%X{RequestId}|%X{ServiceInstanceId}|%thread|%X{VirtualServerName}|%X{ServiceName}|%X{PartnerName}|%X{StatusCode}|%X{ResponseCode}|%X{ResponseDescription}|%X{InstanceUUID}|%.-5level|%X{AlertSeverity}|%X{ServerIPAddress}|%X{Timer}|%X{ServerFQDN}|%X{ClientIPAddress}|%X{ClassName}|%X{Unused}|%X{ProcessKey}|%X{CustomField1}|%X{CustomField2}|%X{CustomField3}|%X{CustomField4}| %msg%n"/>
-
- <property name="metricsLoggerPattern"
- value="%X{MetricsLogBeginTimestamp}|%X{MetricsLogEndTimestamp}|%X{RequestId}|%X{ServiceInstanceId}|%thread|%X{VirtualServerName}|%X{ServiceName}|%X{PartnerName}|%X{TargetEntity}|%X{TargetServiceName}|%X{StatusCode}|%X{ResponseCode}|%X{ResponseDescription}|%X{InstanceUUID}|%.-5level|%X{AlertSeverity}|%X{ServerIPAddress}|%X{Timer}|%X{ServerFQDN}|%X{ClientIPAddress}|%X{ClassName}|%X{Unused}|%X{ProcessKey}|%X{TargetVisualEntity}|%X{CustomField1}|%X{CustomField2}|%X{CustomField3}|%X{CustomField4}| %msg%n"/>
-
- <property name="errorLoggerPattern"
- value="%date{yyyy-MM-dd'T'HH:mm:ss.SSSXXX}|%X{RequestId}|%thread|%X{ServiceName}|%X{PartnerName}|%X{TargetEntity}|%X{TargetServiceName}|%X{ClassName}|%X{AlertSeverity}|%X{ErrorCode}|%X{ErrorDescription}| %msg%n"/>
-
- <property name="defaultLoggerPattern"
- value="%date{yyyy-MM-dd'T'HH:mm:ss.SSSXXX}|%X{RequestId}|%thread|%X{ClassName}| %msg%n"/>
-
- <!-- use %class so library logging calls yield their class name -->
- <property name="applicationLoggerPattern"
- value="%date{yyyy-MM-dd'T'HH:mm:ss.SSSXXX}|%X{RequestId}|%thread|%class{36}| %msg%n"/>
-
- <!-- Example evaluator filter applied against console appender -->
- <appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
- <encoder>
- <pattern>${defaultLoggerPattern}</pattern>
- </encoder>
- </appender>
-
- <!-- ============================================================================ -->
- <!-- EELF Appenders -->
- <!-- ============================================================================ -->
-
- <!-- The EELFAppender is used to record events to the general application
- log -->
-
-
- <appender name="EELF"
- class="ch.qos.logback.core.rolling.RollingFileAppender">
- <file>${logDirectory}/${generalLogName}.log</file>
- <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
- <!-- daily rollover -->
- <fileNamePattern>${logDirectory}/${generalLogName}.%d{yyyy-MM-dd}.log.zip</fileNamePattern>
-
- <!-- keep 30 days' worth of history capped at 3GB total size -->
- <maxHistory>30</maxHistory>
- <totalSizeCap>3GB</totalSizeCap>
-
- </rollingPolicy>
- <encoder>
- <pattern>${applicationLoggerPattern}</pattern>
- </encoder>
- </appender>
-
- <appender name="asyncEELF" class="ch.qos.logback.classic.AsyncAppender">
- <queueSize>256</queueSize>
- <!-- Class name is part of caller data -->
- <includeCallerData>true</includeCallerData>
- <appender-ref ref="EELF"/>
- </appender>
-
- <!-- EELF Security Appender. This appender is used to record security events
- to the security log file. Security events are separate from other loggers
- in EELF so that security log records can be captured and managed in a secure
- way separate from the other logs. This appender is set to never discard any
- events. -->
- <!--
- <appender name="EELFSecurity"
- class="ch.qos.logback.core.rolling.RollingFileAppender">
- <file>${logDirectory}/${securityLogName}.log</file>
- <rollingPolicy
- class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
- <fileNamePattern>${logDirectory}/${securityLogName}.%i.log.zip
- </fileNamePattern>
- <minIndex>1</minIndex>
- <maxIndex>9</maxIndex>
- </rollingPolicy>
- <triggeringPolicy
- class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
- <maxFileSize>5MB</maxFileSize>
- </triggeringPolicy>
- <encoder>
- <pattern>${defaultPattern}</pattern>
- </encoder>
- </appender>
-
- <appender name="asyncEELFSecurity" class="ch.qos.logback.classic.AsyncAppender">
- <queueSize>256</queueSize>
- <discardingThreshold>0</discardingThreshold>
- <appender-ref ref="EELFSecurity" />
- </appender>
- -->
-
- <!-- EELF Performance Appender. This appender is used to record performance
- records. -->
- <!--
- <appender name="EELFPerformance"
- class="ch.qos.logback.core.rolling.RollingFileAppender">
- <file>${logDirectory}/${performanceLogName}.log</file>
- <rollingPolicy
- class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
- <fileNamePattern>${logDirectory}/${performanceLogName}.%i.log.zip
- </fileNamePattern>
- <minIndex>1</minIndex>
- <maxIndex>9</maxIndex>
- </rollingPolicy>
- <triggeringPolicy
- class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
- <maxFileSize>5MB</maxFileSize>
- </triggeringPolicy>
- <encoder>
- <outputPatternAsHeader>true</outputPatternAsHeader>
- <pattern>${defaultPattern}</pattern>
- </encoder>
- </appender>
- <appender name="asyncEELFPerformance" class="ch.qos.logback.classic.AsyncAppender">
- <queueSize>256</queueSize>
- <appender-ref ref="EELFPerformance" />
- </appender>
- -->
-
- <!-- EELF Server Appender. This appender is used to record Server related
- logging events. The Server logger and appender are specializations of the
- EELF application root logger and appender. This can be used to segregate Server
- events from other components, or it can be eliminated to record these events
- as part of the application root log. -->
- <!--
- <appender name="EELFServer"
- class="ch.qos.logback.core.rolling.RollingFileAppender">
- <file>${logDirectory}/${serverLogName}.log</file>
- <rollingPolicy
- class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
- <fileNamePattern>${logDirectory}/${serverLogName}.%i.log.zip
- </fileNamePattern>
- <minIndex>1</minIndex>
- <maxIndex>9</maxIndex>
- </rollingPolicy>
- <triggeringPolicy
- class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
- <maxFileSize>5MB</maxFileSize>
- </triggeringPolicy>
- <encoder>
- <pattern>${defaultPattern}</pattern>
- </encoder>
- </appender>
- <appender name="asyncEELFServer" class="ch.qos.logback.classic.AsyncAppender">
- <queueSize>256</queueSize>
- <appender-ref ref="EELFServer" />
- </appender>
- -->
-
- <!-- EELF Policy Appender. This appender is used to record Policy engine
- related logging events. The Policy logger and appender are specializations
- of the EELF application root logger and appender. This can be used to segregate
- Policy engine events from other components, or it can be eliminated to record
- these events as part of the application root log. -->
- <!--
- <appender name="EELFPolicy"
- class="ch.qos.logback.core.rolling.RollingFileAppender">
- <file>${logDirectory}/${policyLogName}.log</file>
- <rollingPolicy
- class="ch.qos.logback.core.rolling.FixedWindowRollingPolicy">
- <fileNamePattern>${logDirectory}/${policyLogName}.%i.log.zip
- </fileNamePattern>
- <minIndex>1</minIndex>
- <maxIndex>9</maxIndex>
- </rollingPolicy>
- <triggeringPolicy
- class="ch.qos.logback.core.rolling.SizeBasedTriggeringPolicy">
- <maxFileSize>5MB</maxFileSize>
- </triggeringPolicy>
- <encoder>
- <pattern>${defaultPattern}</pattern>
- </encoder>
- </appender>
- <appender name="asyncEELFPolicy" class="ch.qos.logback.classic.AsyncAppender">
- <queueSize>256</queueSize>
- <appender-ref ref="EELFPolicy" />
- </appender>
- -->
-
- <!-- EELF Audit Appender. This appender is used to record audit engine
- related logging events. The audit logger and appender are specializations
- of the EELF application root logger and appender. This can be used to segregate
- Policy engine events from other components, or it can be eliminated to record
- these events as part of the application root log. -->
-
- <appender name="EELFAudit"
- class="ch.qos.logback.core.rolling.RollingFileAppender">
- <file>${logDirectory}/${auditLogName}.log</file>
- <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
- <!-- daily rollover -->
- <fileNamePattern>${logDirectory}/${auditLogName}.%d{yyyy-MM-dd}.log.zip</fileNamePattern>
-
- <!-- keep 30 days' worth of history capped at 3GB total size -->
- <maxHistory>30</maxHistory>
- <totalSizeCap>3GB</totalSizeCap>
-
- </rollingPolicy>
- <encoder>
- <pattern>${auditLoggerPattern}</pattern>
- </encoder>
- </appender>
- <appender name="asyncEELFAudit" class="ch.qos.logback.classic.AsyncAppender">
- <queueSize>256</queueSize>
- <appender-ref ref="EELFAudit"/>
- </appender>
-
- <appender name="EELFMetrics"
- class="ch.qos.logback.core.rolling.RollingFileAppender">
- <file>${logDirectory}/${metricsLogName}.log</file>
- <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
- <!-- daily rollover -->
- <fileNamePattern>${logDirectory}/${metricsLogName}.%d{yyyy-MM-dd}.log.zip</fileNamePattern>
-
- <!-- keep 30 days' worth of history capped at 3GB total size -->
- <maxHistory>30</maxHistory>
- <totalSizeCap>3GB</totalSizeCap>
-
- </rollingPolicy>
- <encoder>
- <pattern>${metricsLoggerPattern}</pattern>
- </encoder>
- </appender>
-
-
- <appender name="asyncEELFMetrics" class="ch.qos.logback.classic.AsyncAppender">
- <queueSize>256</queueSize>
- <appender-ref ref="EELFMetrics"/>
- </appender>
-
- <appender name="EELFError"
- class="ch.qos.logback.core.rolling.RollingFileAppender">
- <file>${logDirectory}/${errorLogName}.log</file>
- <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
- <!-- daily rollover -->
- <fileNamePattern>${logDirectory}/${errorLogName}.%d{yyyy-MM-dd}.log.zip</fileNamePattern>
-
- <!-- keep 30 days' worth of history capped at 3GB total size -->
- <maxHistory>30</maxHistory>
- <totalSizeCap>3GB</totalSizeCap>
-
- </rollingPolicy>
- <encoder>
- <pattern>${errorLoggerPattern}</pattern>
- </encoder>
- </appender>
-
- <appender name="asyncEELFError" class="ch.qos.logback.classic.AsyncAppender">
- <queueSize>256</queueSize>
- <appender-ref ref="EELFError"/>
- </appender>
-
- <appender name="EELFDebug"
- class="ch.qos.logback.core.rolling.RollingFileAppender">
- <file>${debugLogDirectory}/${debugLogName}.log</file>
- <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
- <!-- daily rollover -->
- <fileNamePattern>${logDirectory}/${debugLogName}.%d{yyyy-MM-dd}.log.zip</fileNamePattern>
-
- <!-- keep 30 days' worth of history capped at 3GB total size -->
- <maxHistory>30</maxHistory>
- <totalSizeCap>3GB</totalSizeCap>
-
- </rollingPolicy>
- <encoder>
- <pattern>${defaultLoggerPattern}</pattern>
- </encoder>
- </appender>
-
- <appender name="asyncEELFDebug" class="ch.qos.logback.classic.AsyncAppender">
- <queueSize>256</queueSize>
- <appender-ref ref="EELFDebug"/>
- </appender>
-
-
- <logger name="com.att.eelf" level="error" additivity="false">
- <appender-ref ref="asyncEELF"/>
- </logger>
-
- <logger name="com.att.eelf" level="error" additivity="false">
- <appender-ref ref="asyncEELFAudit"/>
- </logger>
-
- <logger name="com.att.eelf" level="error" additivity="false">
- <appender-ref ref="asyncEELFDebug"/>
- </logger>
-
- <logger name="com.att.eelf.error" level="error" additivity="false">
- <appender-ref ref="asyncEELFError"/>
- </logger>
-
- <logger name="com.att.eelf.metrics" level="error" additivity="false">
- <appender-ref ref="asyncEELFMetrics"/>
- </logger>
-
- <root level="ERROR">
- <appender-ref ref="asyncEELF"/>
- </root>
-
-</configuration>