The following document contains the results of Rat (Release Audit Tool).
***************************************************** Summary ------- Generated at: 2017-03-12T00:06:39-05:00 Notes: 0 Binaries: 0 Archives: 0 Standards: 8 Apache Licensed: 0 Generated Documents: 0 JavaDocs are generated, thus a license header is optional. Generated files do not require license headers. 8 Unknown Licenses ***************************************************** Files with unapproved licenses: C:/projects/fgsms/fgsms-server/fgsms-stats/pom.xml C:/projects/fgsms/fgsms-server/fgsms-stats/src/main/java/org/miloss/fgsms/statistics/FgsmsStatsv2.java C:/projects/fgsms/fgsms-server/fgsms-stats/src/main/java/org/miloss/fgsms/statistics/jobs/BaseJob.java C:/projects/fgsms/fgsms-server/fgsms-stats/src/main/java/org/miloss/fgsms/statistics/jobs/BrokerStatisticsJob.java C:/projects/fgsms/fgsms-server/fgsms-stats/src/main/java/org/miloss/fgsms/statistics/jobs/MachineProcessJob.java C:/projects/fgsms/fgsms-server/fgsms-stats/src/main/java/org/miloss/fgsms/statistics/jobs/StatusStatisticsJob.java C:/projects/fgsms/fgsms-server/fgsms-stats/src/main/java/org/miloss/fgsms/statistics/jobs/TransactionalStatisticsJob.java C:/projects/fgsms/fgsms-server/fgsms-stats/src/main/java/org/miloss/fgsms/statistics/StatisticsContainer.java ***************************************************** ***************************************************** Files with Apache License headers will be marked AL Binary files (which do not require any license headers) will be marked B Compressed archives will be marked A Notices, licenses etc. will be marked N !????? C:/projects/fgsms/fgsms-server/fgsms-stats/pom.xml !????? C:/projects/fgsms/fgsms-server/fgsms-stats/src/main/java/org/miloss/fgsms/statistics/FgsmsStatsv2.java !????? C:/projects/fgsms/fgsms-server/fgsms-stats/src/main/java/org/miloss/fgsms/statistics/jobs/BaseJob.java !????? C:/projects/fgsms/fgsms-server/fgsms-stats/src/main/java/org/miloss/fgsms/statistics/jobs/BrokerStatisticsJob.java !????? C:/projects/fgsms/fgsms-server/fgsms-stats/src/main/java/org/miloss/fgsms/statistics/jobs/MachineProcessJob.java !????? C:/projects/fgsms/fgsms-server/fgsms-stats/src/main/java/org/miloss/fgsms/statistics/jobs/StatusStatisticsJob.java !????? C:/projects/fgsms/fgsms-server/fgsms-stats/src/main/java/org/miloss/fgsms/statistics/jobs/TransactionalStatisticsJob.java !????? C:/projects/fgsms/fgsms-server/fgsms-stats/src/main/java/org/miloss/fgsms/statistics/StatisticsContainer.java ***************************************************** Printing headers for text files without a valid license header... ===================================================== == File: C:/projects/fgsms/fgsms-server/fgsms-stats/pom.xml ===================================================== <?xml version="1.0" encoding="UTF-8"?> <!-- This Source Code Form is subject to the terms of the Mozilla Public License, v. 2.0. If a copy of the MPL was not distributed with this file, You can obtain one at http://mozilla.org/MPL/2.0/. If it is not possible or desirable to put the notice in a particular file, then You may include the notice in a location (such as a LICENSE file in a relevant directory) where a recipient would be likely to look for such a notice. U.S. Government, Department of the Army Army Materiel Command Research Development Engineering Command Communications Electronics Research Development and Engineering Center --> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> <modelVersion>4.0.0</modelVersion> <parent> <groupId>org.mil-oss</groupId> <artifactId>fgsms-server</artifactId> <version>7.0.0</version> </parent> <artifactId>fgsms-stats</artifactId> <packaging>bundle</packaging> <name>fgsms Statistics Aggregator</name> <description>Aggregates performance metrics and statistics to increase performance.</description> <dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <scope>test</scope> </dependency> <dependency> <groupId>org.mil-oss</groupId> <artifactId>fgsms-common</artifactId> <version>${project.parent.version}</version> </dependency> <dependency> <groupId>org.mil-oss</groupId> <artifactId>fgsms-agentcore</artifactId> <version>${project.parent.version}</version> </dependency> <dependency> ===================================================== == File: C:/projects/fgsms/fgsms-server/fgsms-stats/src/main/java/org/miloss/fgsms/statistics/FgsmsStatsv2.java ===================================================== /** * This Source Code Form is subject to the terms of the Mozilla Public * License, v. 2.0. If a copy of the MPL was not distributed with this * file, You can obtain one at http://mozilla.org/MPL/2.0/. * * If it is not possible or desirable to put the notice in a particular * file, then You may include the notice in a location (such as a LICENSE * file in a relevant directory) where a recipient would be likely to look * for such a notice. * * */ /* --------------------------------------------------------------------------- * U.S. Government, Department of the Army * Army Materiel Command * Research Development Engineering Command * Communications Electronics Research Development and Engineering Center * --------------------------------------------------------------------------- */ package org.miloss.fgsms.statistics; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; import java.util.*; import java.util.concurrent.LinkedBlockingQueue; import java.util.concurrent.ThreadPoolExecutor; import java.util.concurrent.TimeUnit; import org.miloss.fgsms.common.DBSettingsLoader; import org.miloss.fgsms.common.Utility; import org.miloss.fgsms.services.interfaces.common.PolicyType; import org.miloss.fgsms.services.interfaces.dataaccessservice.OperationalRecord; import org.miloss.fgsms.services.interfaces.policyconfiguration.KeyNameValueEnc; import org.apache.log4j.Level; import org.miloss.fgsms.agentcore.MessageProcessor; import org.miloss.fgsms.common.Logger; import org.miloss.fgsms.common.DBUtils; import org.miloss.fgsms.statistics.jobs.BrokerStatisticsJob; import org.miloss.fgsms.statistics.jobs.MachineProcessJob; import org.miloss.fgsms.statistics.jobs.StatusStatisticsJob; import org.miloss.fgsms.statistics.jobs.TransactionalStatisticsJob; /** * Statistics Calculator for fgsms. It rips through the various performance * database tables and calculates aggregated statistics for all services. * Several other capabilities depend on this functioning, including the non * transactional SLA processor (for rate information, MBTF,etc), Federation * publishers (UDDI) and the user interface is heavily driven off this data. * ===================================================== == File: C:/projects/fgsms/fgsms-server/fgsms-stats/src/main/java/org/miloss/fgsms/statistics/jobs/BaseJob.java ===================================================== /* * To change this license header, choose License Headers in Project Properties. * To change this template file, choose Tools | Templates * and open the template in the editor. */ package org.miloss.fgsms.statistics.jobs; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; import java.util.ArrayList; import java.util.Calendar; import java.util.GregorianCalendar; import java.util.List; import org.apache.log4j.Level; import org.miloss.fgsms.common.DBUtils; import org.miloss.fgsms.services.interfaces.dataaccessservice.OperationalRecord; import static org.miloss.fgsms.statistics.FgsmsStatsv2.log; /** * * @author AO */ public abstract class BaseJob implements Runnable{ protected long getSLACount(final String url, final Long ts, Connection con) { long r = 0; PreparedStatement cmd = null; ResultSet rs = null; try { cmd = con.prepareStatement("select count(*) from slaviolations where uri=? and utcdatetime > ?"); cmd.setString(1, url); cmd.setLong(2, System.currentTimeMillis() - ts); rs = cmd.executeQuery(); if (rs.next()) { r = rs.getLong(1); } } catch (Exception ex) { log.log(Level.ERROR, null, ex); } finally { DBUtils.safeClose(rs); DBUtils.safeClose(cmd); } return r; } protected void insertRow(Connection perf, final String url, final String action, final long period) { PreparedStatement prepareStatement = null; try { ===================================================== == File: C:/projects/fgsms/fgsms-server/fgsms-stats/src/main/java/org/miloss/fgsms/statistics/jobs/BrokerStatisticsJob.java ===================================================== /* * To change this license header, choose License Headers in Project Properties. * To change this template file, choose Tools | Templates * and open the template in the editor. */ package org.miloss.fgsms.statistics.jobs; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.util.HashMap; import java.util.List; import java.util.UUID; import org.apache.log4j.Level; import org.miloss.fgsms.agentcore.MessageProcessor; import org.miloss.fgsms.common.DBUtils; import org.miloss.fgsms.common.Utility; import org.miloss.fgsms.services.interfaces.common.PolicyType; import static org.miloss.fgsms.statistics.FgsmsStatsv2.SERVICE_NAME; import static org.miloss.fgsms.statistics.FgsmsStatsv2.allitems; import static org.miloss.fgsms.statistics.FgsmsStatsv2.log; import static org.miloss.fgsms.statistics.FgsmsStatsv2.myUrl; /** * * @author AO */ public class BrokerStatisticsJob extends BaseJob { List<Long> periods; public BrokerStatisticsJob(List<Long> periods) { this.periods = periods; } @Override public void run() { UUID random = UUID.randomUUID(); MessageProcessor.getSingletonObject().processMessageInput(SERVICE_NAME, 0, myUrl, "machine/process", "system", random.toString(), new HashMap(), "", this.getClass().getCanonicalName(), "", ""); Connection ConfigCon = Utility.getConfigurationDBConnection(); Connection PerfCon = Utility.getPerformanceDBConnection(); try { doWorkBrokers(ConfigCon, PerfCon, periods); MessageProcessor.getSingletonObject().processMessageOutput(random.toString(), "success", 0, false, System.currentTimeMillis(), new HashMap()); } catch (Exception ex) { MessageProcessor.getSingletonObject().processMessageOutput(random.toString(), "error " + ex.getMessage(), 0, true, System.currentTimeMillis(), new HashMap()); } finally { DBUtils.safeClose(PerfCon); DBUtils.safeClose(ConfigCon); } ===================================================== == File: C:/projects/fgsms/fgsms-server/fgsms-stats/src/main/java/org/miloss/fgsms/statistics/jobs/MachineProcessJob.java ===================================================== /* * To change this license header, choose License Headers in Project Properties. * To change this template file, choose Tools | Templates * and open the template in the editor. */ package org.miloss.fgsms.statistics.jobs; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; import java.util.ArrayList; import java.util.Calendar; import java.util.GregorianCalendar; import java.util.HashMap; import java.util.List; import java.util.UUID; import org.apache.log4j.Level; import org.miloss.fgsms.agentcore.MessageProcessor; import org.miloss.fgsms.common.DBUtils; import org.miloss.fgsms.common.Utility; import org.miloss.fgsms.services.interfaces.common.PolicyType; import org.miloss.fgsms.services.interfaces.dataaccessservice.OperationalRecord; import static org.miloss.fgsms.statistics.FgsmsStatsv2.SERVICE_NAME; import static org.miloss.fgsms.statistics.FgsmsStatsv2.allitems; import static org.miloss.fgsms.statistics.FgsmsStatsv2.log; import static org.miloss.fgsms.statistics.FgsmsStatsv2.myUrl; /** * * @author AO */ public class MachineProcessJob extends BaseJob implements Runnable { List<Long> periods; public MachineProcessJob(List<Long> periods) { this.periods = periods; } @Override public void run() { UUID random = UUID.randomUUID(); MessageProcessor.getSingletonObject().processMessageInput(SERVICE_NAME, 0, myUrl, "machine/process", "system", random.toString(), new HashMap(), "", this.getClass().getCanonicalName(), "", ""); Connection ConfigCon = Utility.getConfigurationDBConnection(); Connection PerfCon = Utility.getPerformanceDBConnection(); try { doWorkMachinesProcesses(ConfigCon, PerfCon, periods); MessageProcessor.getSingletonObject().processMessageOutput(random.toString(), "success", 0, false, System.currentTimeMillis(), new HashMap()); ===================================================== == File: C:/projects/fgsms/fgsms-server/fgsms-stats/src/main/java/org/miloss/fgsms/statistics/jobs/StatusStatisticsJob.java ===================================================== /* * To change this license header, choose License Headers in Project Properties. * To change this template file, choose Tools | Templates * and open the template in the editor. */ package org.miloss.fgsms.statistics.jobs; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; import java.util.ArrayList; import java.util.Calendar; import java.util.GregorianCalendar; import java.util.HashMap; import java.util.List; import java.util.UUID; import org.apache.log4j.Level; import org.miloss.fgsms.agentcore.MessageProcessor; import org.miloss.fgsms.common.DBUtils; import org.miloss.fgsms.common.Utility; import org.miloss.fgsms.services.interfaces.common.PolicyType; import org.miloss.fgsms.services.interfaces.dataaccessservice.OperationalRecord; import static org.miloss.fgsms.statistics.FgsmsStatsv2.SERVICE_NAME; import static org.miloss.fgsms.statistics.FgsmsStatsv2.allitems; import static org.miloss.fgsms.statistics.FgsmsStatsv2.log; import static org.miloss.fgsms.statistics.FgsmsStatsv2.myUrl; /** * * @author AO */ public class StatusStatisticsJob extends BaseJob implements Runnable { List<Long> periods; public StatusStatisticsJob(List<Long> periods) { this.periods = periods; } @Override public void run() { UUID random = UUID.randomUUID(); MessageProcessor.getSingletonObject().processMessageInput(SERVICE_NAME, 0, myUrl, "status", "system", random.toString(), new HashMap(), "", this.getClass().getCanonicalName(), "", ""); Connection ConfigCon = Utility.getConfigurationDBConnection(); Connection PerfCon = Utility.getPerformanceDBConnection(); try { doWorkForStatusItemsOnly(ConfigCon, PerfCon, periods); MessageProcessor.getSingletonObject().processMessageOutput(random.toString(), "success", 0, false, System.currentTimeMillis(), new HashMap()); } catch (Exception ex) { ===================================================== == File: C:/projects/fgsms/fgsms-server/fgsms-stats/src/main/java/org/miloss/fgsms/statistics/jobs/TransactionalStatisticsJob.java ===================================================== /* * To change this license header, choose License Headers in Project Properties. * To change this template file, choose Tools | Templates * and open the template in the editor. */ package org.miloss.fgsms.statistics.jobs; import java.sql.Connection; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; import java.util.ArrayList; import java.util.Collections; import java.util.HashMap; import java.util.HashSet; import java.util.List; import java.util.Set; import java.util.UUID; import org.apache.log4j.Level; import org.miloss.fgsms.agentcore.MessageProcessor; import org.miloss.fgsms.common.DBUtils; import org.miloss.fgsms.common.Utility; import static org.miloss.fgsms.statistics.FgsmsStatsv2.SERVICE_NAME; import static org.miloss.fgsms.statistics.FgsmsStatsv2.allitems; import static org.miloss.fgsms.statistics.FgsmsStatsv2.log; import static org.miloss.fgsms.statistics.FgsmsStatsv2.myUrl; import org.miloss.fgsms.statistics.StatisticsContainer; /** * * @author AO */ public class TransactionalStatisticsJob extends BaseJob { List<Long> periods; String uri; public TransactionalStatisticsJob(List<Long> periods, String string) { this.periods = periods; this.uri = string; } @Override public void run() { UUID random = UUID.randomUUID(); MessageProcessor.getSingletonObject().processMessageInput(SERVICE_NAME + " for " + uri, 0, myUrl, "transactional", "system", random.toString(), new HashMap(), "", this.getClass().getCanonicalName(), "", ""); Connection ConfigCon = Utility.getConfigurationDBConnection(); Connection PerfCon = Utility.getPerformanceDBConnection(); try { doWorkTransactional(ConfigCon, PerfCon, periods, uri); ===================================================== == File: C:/projects/fgsms/fgsms-server/fgsms-stats/src/main/java/org/miloss/fgsms/statistics/StatisticsContainer.java ===================================================== /** * This Source Code Form is subject to the terms of the Mozilla Public * License, v. 2.0. If a copy of the MPL was not distributed with this * file, You can obtain one at http://mozilla.org/MPL/2.0/. * * If it is not possible or desirable to put the notice in a particular * file, then You may include the notice in a location (such as a LICENSE * file in a relevant directory) where a recipient would be likely to look * for such a notice. * */ /* --------------------------------------------------------------------------- * U.S. Government, Department of the Army * Army Materiel Command * Research Development Engineering Command * Communications Electronics Research Development and Engineering Center * --------------------------------------------------------------------------- */ package org.miloss.fgsms.statistics; /** * * @author AO */ public class StatisticsContainer { public long faults = 0; public long success = 0; public long sla = 0; public long averageresponsetime = 0; public long mtbf = 0; public long max_responsetime = 0; public long max_request_size = 0; public long max_response_size = 0; public long totalprocessingtime = 0; public String uri; public String action; public long timeperiod; public double availibity = -1; }