details: /erp/devel/pi/rev/09983f27135a
changeset: 8766:09983f27135a
user: Gorka Ion Damián <gorkaion.damian <at> openbravo.com>
date: Thu Oct 28 10:18:10 2010 +0200
summary: [heatbeat] Add Rejected logins due to concurrent users parameter.
diffstat:
src-db/database/model/tables/AD_HEARTBEAT_LOG.xml | 4 +
src-db/database/sourcedata/AD_COLUMN.xml | 32 ++++++++++++
src-db/database/sourcedata/AD_ELEMENT.xml | 12 ++++
src-db/database/sourcedata/AD_FIELD.xml | 28 +++++++++-
src/org/openbravo/erpCommon/ad_process/HeartbeatProcess.java | 7 ++
src/org/openbravo/erpCommon/utility/SystemInfo.java | 24 +++++++-
6 files changed, 100 insertions(+), 7 deletions(-)
diffs (230 lines):
diff -r 438617827527 -r 09983f27135a
src-db/database/model/tables/AD_HEARTBEAT_LOG.xml
--- a/src-db/database/model/tables/AD_HEARTBEAT_LOG.xml Wed Oct 27 21:23:12
2010 +0200
+++ b/src-db/database/model/tables/AD_HEARTBEAT_LOG.xml Thu Oct 28 10:18:10
2010 +0200
@@ -181,6 +181,10 @@
<default/>
<onCreateDefault/>
</column>
+ <column name="REJECTED_LOGINS_DUE_CONC_USERS" primaryKey="false"
required="false" type="DECIMAL" autoIncrement="false">
+ <default/>
+ <onCreateDefault/>
+ </column>
<foreign-key foreignTable="AD_CLIENT" name="AD_HEARTBEAT_LOG_AD_CLIENT">
<reference local="AD_CLIENT_ID" foreign="AD_CLIENT_ID"/>
</foreign-key>
diff -r 438617827527 -r 09983f27135a src-db/database/sourcedata/AD_COLUMN.xml
--- a/src-db/database/sourcedata/AD_COLUMN.xml Wed Oct 27 21:23:12 2010 +0200
+++ b/src-db/database/sourcedata/AD_COLUMN.xml Thu Oct 28 10:18:10 2010 +0200
@@ -308910,6 +308910,38 @@
<!--92FC7A19DAD0930CE040007F010048EB-->
<VALIDATEONNEW><![CDATA[Y]]></VALIDATEONNEW>
<!--92FC7A19DAD0930CE040007F010048EB--></AD_COLUMN>
+<!--9397E02890414B43E040007F0100749D--><AD_COLUMN>
+<!--9397E02890414B43E040007F0100749D-->
<AD_COLUMN_ID><![CDATA[9397E02890414B43E040007F0100749D]]></AD_COLUMN_ID>
+<!--9397E02890414B43E040007F0100749D-->
<AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
+<!--9397E02890414B43E040007F0100749D--> <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID>
+<!--9397E02890414B43E040007F0100749D--> <ISACTIVE><![CDATA[Y]]></ISACTIVE>
+<!--9397E02890414B43E040007F0100749D-->
<NAME><![CDATA[Rejected_Logins_Due_Conc_Users]]></NAME>
+<!--9397E02890414B43E040007F0100749D--> <HELP><![CDATA[Number of rejected
logins due to concurrent users limit on the last 30 days]]></HELP>
+<!--9397E02890414B43E040007F0100749D-->
<COLUMNNAME><![CDATA[Rejected_Logins_Due_Conc_Users]]></COLUMNNAME>
+<!--9397E02890414B43E040007F0100749D-->
<AD_TABLE_ID><![CDATA[1005400006]]></AD_TABLE_ID>
+<!--9397E02890414B43E040007F0100749D-->
<AD_REFERENCE_ID><![CDATA[11]]></AD_REFERENCE_ID>
+<!--9397E02890414B43E040007F0100749D-->
<FIELDLENGTH><![CDATA[12]]></FIELDLENGTH>
+<!--9397E02890414B43E040007F0100749D--> <ISKEY><![CDATA[N]]></ISKEY>
+<!--9397E02890414B43E040007F0100749D--> <ISPARENT><![CDATA[N]]></ISPARENT>
+<!--9397E02890414B43E040007F0100749D-->
<ISMANDATORY><![CDATA[N]]></ISMANDATORY>
+<!--9397E02890414B43E040007F0100749D-->
<ISUPDATEABLE><![CDATA[Y]]></ISUPDATEABLE>
+<!--9397E02890414B43E040007F0100749D-->
<ISIDENTIFIER><![CDATA[N]]></ISIDENTIFIER>
+<!--9397E02890414B43E040007F0100749D--> <SEQNO><![CDATA[460]]></SEQNO>
+<!--9397E02890414B43E040007F0100749D-->
<ISTRANSLATED><![CDATA[N]]></ISTRANSLATED>
+<!--9397E02890414B43E040007F0100749D-->
<ISENCRYPTED><![CDATA[N]]></ISENCRYPTED>
+<!--9397E02890414B43E040007F0100749D-->
<ISSELECTIONCOLUMN><![CDATA[N]]></ISSELECTIONCOLUMN>
+<!--9397E02890414B43E040007F0100749D-->
<AD_ELEMENT_ID><![CDATA[9397E02890444B43E040007F0100749D]]></AD_ELEMENT_ID>
+<!--9397E02890414B43E040007F0100749D-->
<ISSESSIONATTR><![CDATA[N]]></ISSESSIONATTR>
+<!--9397E02890414B43E040007F0100749D-->
<ISSECONDARYKEY><![CDATA[N]]></ISSECONDARYKEY>
+<!--9397E02890414B43E040007F0100749D-->
<ISDESENCRYPTABLE><![CDATA[N]]></ISDESENCRYPTABLE>
+<!--9397E02890414B43E040007F0100749D-->
<DEVELOPMENTSTATUS><![CDATA[RE]]></DEVELOPMENTSTATUS>
+<!--9397E02890414B43E040007F0100749D-->
<AD_MODULE_ID><![CDATA[0]]></AD_MODULE_ID>
+<!--9397E02890414B43E040007F0100749D--> <POSITION><![CDATA[46]]></POSITION>
+<!--9397E02890414B43E040007F0100749D-->
<ISTRANSIENT><![CDATA[N]]></ISTRANSIENT>
+<!--9397E02890414B43E040007F0100749D--> <ISAUTOSAVE><![CDATA[Y]]></ISAUTOSAVE>
+<!--9397E02890414B43E040007F0100749D-->
<VALIDATEONNEW><![CDATA[Y]]></VALIDATEONNEW>
+<!--9397E02890414B43E040007F0100749D--></AD_COLUMN>
+
<!--95228909B4A44702B0D71D14DBBB2E44--><AD_COLUMN>
<!--95228909B4A44702B0D71D14DBBB2E44-->
<AD_COLUMN_ID><![CDATA[95228909B4A44702B0D71D14DBBB2E44]]></AD_COLUMN_ID>
<!--95228909B4A44702B0D71D14DBBB2E44-->
<AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
diff -r 438617827527 -r 09983f27135a src-db/database/sourcedata/AD_ELEMENT.xml
--- a/src-db/database/sourcedata/AD_ELEMENT.xml Wed Oct 27 21:23:12 2010 +0200
+++ b/src-db/database/sourcedata/AD_ELEMENT.xml Thu Oct 28 10:18:10 2010 +0200
@@ -27299,6 +27299,18 @@
<!--92960702F3C3E1DAE040007F010046D0-->
<AD_MODULE_ID><![CDATA[0]]></AD_MODULE_ID>
<!--92960702F3C3E1DAE040007F010046D0--></AD_ELEMENT>
+<!--9397E02890444B43E040007F0100749D--><AD_ELEMENT>
+<!--9397E02890444B43E040007F0100749D-->
<AD_ELEMENT_ID><![CDATA[9397E02890444B43E040007F0100749D]]></AD_ELEMENT_ID>
+<!--9397E02890444B43E040007F0100749D-->
<AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
+<!--9397E02890444B43E040007F0100749D--> <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID>
+<!--9397E02890444B43E040007F0100749D--> <ISACTIVE><![CDATA[Y]]></ISACTIVE>
+<!--9397E02890444B43E040007F0100749D-->
<COLUMNNAME><![CDATA[Rejected_Logins_Due_Conc_Users]]></COLUMNNAME>
+<!--9397E02890444B43E040007F0100749D--> <NAME><![CDATA[Rejected logins due to
concurrent users limit]]></NAME>
+<!--9397E02890444B43E040007F0100749D--> <PRINTNAME><![CDATA[Rejected logins
due to concurrent users limit]]></PRINTNAME>
+<!--9397E02890444B43E040007F0100749D--> <HELP><![CDATA[Number of rejected
logins due to concurrent users limit on the last 30 days]]></HELP>
+<!--9397E02890444B43E040007F0100749D-->
<AD_MODULE_ID><![CDATA[0]]></AD_MODULE_ID>
+<!--9397E02890444B43E040007F0100749D--></AD_ELEMENT>
+
<!--9910D5BD35894A8FBBB365FB9239B711--><AD_ELEMENT>
<!--9910D5BD35894A8FBBB365FB9239B711-->
<AD_ELEMENT_ID><![CDATA[9910D5BD35894A8FBBB365FB9239B711]]></AD_ELEMENT_ID>
<!--9910D5BD35894A8FBBB365FB9239B711-->
<AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
diff -r 438617827527 -r 09983f27135a src-db/database/sourcedata/AD_FIELD.xml
--- a/src-db/database/sourcedata/AD_FIELD.xml Wed Oct 27 21:23:12 2010 +0200
+++ b/src-db/database/sourcedata/AD_FIELD.xml Thu Oct 28 10:18:10 2010 +0200
@@ -181796,7 +181796,7 @@
<!--10F44D767CA9479B9061C09E0E52EA3E-->
<ISDISPLAYED><![CDATA[Y]]></ISDISPLAYED>
<!--10F44D767CA9479B9061C09E0E52EA3E-->
<DISPLAYLENGTH><![CDATA[22]]></DISPLAYLENGTH>
<!--10F44D767CA9479B9061C09E0E52EA3E--> <ISREADONLY><![CDATA[N]]></ISREADONLY>
-<!--10F44D767CA9479B9061C09E0E52EA3E--> <SEQNO><![CDATA[370]]></SEQNO>
+<!--10F44D767CA9479B9061C09E0E52EA3E--> <SEQNO><![CDATA[380]]></SEQNO>
<!--10F44D767CA9479B9061C09E0E52EA3E--> <ISSAMELINE><![CDATA[N]]></ISSAMELINE>
<!--10F44D767CA9479B9061C09E0E52EA3E-->
<ISFIELDONLY><![CDATA[N]]></ISFIELDONLY>
<!--10F44D767CA9479B9061C09E0E52EA3E-->
<ISENCRYPTED><![CDATA[N]]></ISENCRYPTED>
@@ -202394,7 +202394,7 @@
<!--90211BA56ACAD8A1E040007F01012508-->
<ISDISPLAYED><![CDATA[Y]]></ISDISPLAYED>
<!--90211BA56ACAD8A1E040007F01012508-->
<DISPLAYLENGTH><![CDATA[12]]></DISPLAYLENGTH>
<!--90211BA56ACAD8A1E040007F01012508--> <ISREADONLY><![CDATA[N]]></ISREADONLY>
-<!--90211BA56ACAD8A1E040007F01012508--> <SEQNO><![CDATA[350]]></SEQNO>
+<!--90211BA56ACAD8A1E040007F01012508--> <SEQNO><![CDATA[360]]></SEQNO>
<!--90211BA56ACAD8A1E040007F01012508--> <ISSAMELINE><![CDATA[N]]></ISSAMELINE>
<!--90211BA56ACAD8A1E040007F01012508-->
<ISFIELDONLY><![CDATA[N]]></ISFIELDONLY>
<!--90211BA56ACAD8A1E040007F01012508-->
<ISENCRYPTED><![CDATA[N]]></ISENCRYPTED>
@@ -202417,7 +202417,7 @@
<!--90211BA56ACBD8A1E040007F01012508-->
<ISDISPLAYED><![CDATA[Y]]></ISDISPLAYED>
<!--90211BA56ACBD8A1E040007F01012508-->
<DISPLAYLENGTH><![CDATA[12]]></DISPLAYLENGTH>
<!--90211BA56ACBD8A1E040007F01012508--> <ISREADONLY><![CDATA[N]]></ISREADONLY>
-<!--90211BA56ACBD8A1E040007F01012508--> <SEQNO><![CDATA[360]]></SEQNO>
+<!--90211BA56ACBD8A1E040007F01012508--> <SEQNO><![CDATA[370]]></SEQNO>
<!--90211BA56ACBD8A1E040007F01012508--> <ISSAMELINE><![CDATA[Y]]></ISSAMELINE>
<!--90211BA56ACBD8A1E040007F01012508-->
<ISFIELDONLY><![CDATA[N]]></ISFIELDONLY>
<!--90211BA56ACBD8A1E040007F01012508-->
<ISENCRYPTED><![CDATA[N]]></ISENCRYPTED>
@@ -203293,6 +203293,28 @@
<!--93092ACE16BA46B8B0C7AA66DCAF80BE-->
<GRID_SEQNO><![CDATA[20]]></GRID_SEQNO>
<!--93092ACE16BA46B8B0C7AA66DCAF80BE--></AD_FIELD>
+<!--9397E028904B4B43E040007F0100749D--><AD_FIELD>
+<!--9397E028904B4B43E040007F0100749D-->
<AD_FIELD_ID><![CDATA[9397E028904B4B43E040007F0100749D]]></AD_FIELD_ID>
+<!--9397E028904B4B43E040007F0100749D-->
<AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
+<!--9397E028904B4B43E040007F0100749D--> <AD_ORG_ID><![CDATA[0]]></AD_ORG_ID>
+<!--9397E028904B4B43E040007F0100749D--> <ISACTIVE><![CDATA[Y]]></ISACTIVE>
+<!--9397E028904B4B43E040007F0100749D--> <NAME><![CDATA[Rejected logins due to
concurrent users limit]]></NAME>
+<!--9397E028904B4B43E040007F0100749D--> <HELP><![CDATA[Number of rejected
logins due to concurrent users limit on the last 30 days]]></HELP>
+<!--9397E028904B4B43E040007F0100749D-->
<ISCENTRALLYMAINTAINED><![CDATA[Y]]></ISCENTRALLYMAINTAINED>
+<!--9397E028904B4B43E040007F0100749D-->
<AD_TAB_ID><![CDATA[1005400006]]></AD_TAB_ID>
+<!--9397E028904B4B43E040007F0100749D-->
<AD_COLUMN_ID><![CDATA[9397E02890414B43E040007F0100749D]]></AD_COLUMN_ID>
+<!--9397E028904B4B43E040007F0100749D-->
<ISDISPLAYED><![CDATA[Y]]></ISDISPLAYED>
+<!--9397E028904B4B43E040007F0100749D-->
<DISPLAYLENGTH><![CDATA[12]]></DISPLAYLENGTH>
+<!--9397E028904B4B43E040007F0100749D--> <ISREADONLY><![CDATA[N]]></ISREADONLY>
+<!--9397E028904B4B43E040007F0100749D--> <SEQNO><![CDATA[350]]></SEQNO>
+<!--9397E028904B4B43E040007F0100749D--> <ISSAMELINE><![CDATA[N]]></ISSAMELINE>
+<!--9397E028904B4B43E040007F0100749D-->
<ISFIELDONLY><![CDATA[N]]></ISFIELDONLY>
+<!--9397E028904B4B43E040007F0100749D-->
<ISENCRYPTED><![CDATA[N]]></ISENCRYPTED>
+<!--9397E028904B4B43E040007F0100749D-->
<SHOWINRELATION><![CDATA[Y]]></SHOWINRELATION>
+<!--9397E028904B4B43E040007F0100749D-->
<ISFIRSTFOCUSEDFIELD><![CDATA[N]]></ISFIRSTFOCUSEDFIELD>
+<!--9397E028904B4B43E040007F0100749D-->
<AD_MODULE_ID><![CDATA[0]]></AD_MODULE_ID>
+<!--9397E028904B4B43E040007F0100749D--></AD_FIELD>
+
<!--9548BFF12C804E3EAC9954731D5A4177--><AD_FIELD>
<!--9548BFF12C804E3EAC9954731D5A4177-->
<AD_FIELD_ID><![CDATA[9548BFF12C804E3EAC9954731D5A4177]]></AD_FIELD_ID>
<!--9548BFF12C804E3EAC9954731D5A4177-->
<AD_CLIENT_ID><![CDATA[0]]></AD_CLIENT_ID>
diff -r 438617827527 -r 09983f27135a
src/org/openbravo/erpCommon/ad_process/HeartbeatProcess.java
--- a/src/org/openbravo/erpCommon/ad_process/HeartbeatProcess.java Wed Oct
27 21:23:12 2010 +0200
+++ b/src/org/openbravo/erpCommon/ad_process/HeartbeatProcess.java Thu Oct
28 10:18:10 2010 +0200
@@ -373,6 +373,13 @@
log.warn("Incorrect number of orgs: "
+
systemInfo.getProperty(SystemInfo.Item.NUMBER_OF_ORGS.getLabel()));
}
+ try {
+ hbLog.setRejectedLoginsDueConcUsers(Long.parseLong(systemInfo
+
.getProperty(SystemInfo.Item.REJECTED_LOGINS_DUE_CONC_USERS.getLabel())));
+ } catch (NumberFormatException e) {
+ log.warn("Incorrect number of rejected logins: "
+ + SystemInfo.Item.REJECTED_LOGINS_DUE_CONC_USERS.getLabel());
+ }
}
OBDal.getInstance().save(hbLog);
} finally {
diff -r 438617827527 -r 09983f27135a
src/org/openbravo/erpCommon/utility/SystemInfo.java
--- a/src/org/openbravo/erpCommon/utility/SystemInfo.java Wed Oct 27
21:23:12 2010 +0200
+++ b/src/org/openbravo/erpCommon/utility/SystemInfo.java Thu Oct 28
10:18:10 2010 +0200
@@ -79,7 +79,8 @@
private static Date lastLogin;
private static Long numberOfLogins;
private static SimpleDateFormat sd;
- private static int numberOfLonginsThisMoth = 0;
+ private static int numberOfLonginsThisMonth = 0;
+ private static int numberOfRejectedLoginsDueConcUsersThisMonth = 0;
private static BigDecimal avgUsers = BigDecimal.ZERO;
private static BigDecimal usagePercentageTime = BigDecimal.ZERO;
private static int maxUsers = 0;
@@ -212,7 +213,7 @@
systemInfo.put(i, usagePercentageTime.toString());
break;
case TOTAL_LOGINS_LAST_MOTH:
- systemInfo.put(i, Integer.toString(numberOfLonginsThisMoth));
+ systemInfo.put(i, Integer.toString(numberOfLonginsThisMonth));
break;
case NUMBER_OF_CLIENTS:
systemInfo.put(i, getNumberOfClients());
@@ -228,6 +229,9 @@
.getInstancePurpose();
systemInfo.put(i, instancePurpose == null ? "U" : instancePurpose);
break;
+ case REJECTED_LOGINS_DUE_CONC_USERS:
+ systemInfo.put(i,
Integer.toString(numberOfRejectedLoginsDueConcUsersThisMonth));
+ break;
}
}
@@ -597,7 +601,7 @@
List<Event> events = new ArrayList<Event>();
List<Session> sessions = qSession.list();
- numberOfLonginsThisMoth = sessions.size();
+ numberOfLonginsThisMonth = sessions.size();
for (Session session : sessions) {
Event newSession = new Event();
newSession.eventDate = session.getCreationDate();
@@ -641,6 +645,7 @@
usersPeriod = usersPeriod.add(periodTime.multiply(new
BigDecimal(concurrentUsers)));
}
}
+
calculateNumberOfRejectedLoginsDueConcurrentUsersLastMonth(startOfPeriod);
BigDecimal totalTime = new BigDecimal(now.getTimeInMillis() -
startOfPeriod.getTimeInMillis());
if (totalUsageTime.compareTo(BigDecimal.ZERO) != 0) {
@@ -655,6 +660,16 @@
} catch (Exception e) {
log4j.error("Error calculating login information", e);
}
+
+ }
+
+ private static void
calculateNumberOfRejectedLoginsDueConcurrentUsersLastMonth(
+ Calendar startOfPeriod) {
+ OBCriteria<Session> qSession =
OBDal.getInstance().createCriteria(Session.class);
+ qSession.add(Expression.ge(Session.PROPERTY_CREATIONDATE,
startOfPeriod.getTime()));
+ qSession.add(Expression.eq(Session.PROPERTY_LOGINSTATUS, "CUR"));
+
+ numberOfRejectedLoginsDueConcUsersThisMonth = qSession.list().size();
}
/**
@@ -710,7 +725,8 @@
"loginsMoth", false), MAX_CONCURRENT_USERS("maxUsers", false),
AVG_CONCURRENT_USERS(
"avgUsers", false), PERC_TIME_USAGE("timeUsage", false),
NUMBER_OF_CLIENTS("clientNum",
false), NUMBER_OF_ORGS("orgNum", false), USAGE_AUDIT("usageAudit",
false), INSTANCE_PURPOSE(
- "instancePurpose", false);
+ "instancePurpose", false),
REJECTED_LOGINS_DUE_CONC_USERS("rejectedLoginsDueConcUsers",
+ false);
private String label;
private boolean isIdInfo;
------------------------------------------------------------------------------
Nokia and AT&T present the 2010 Calling All Innovators-North America contest
Create new apps & games for the Nokia N8 for consumers in U.S. and Canada
$10 million total in prizes - $4M cash, 500 devices, nearly $6M in marketing
Develop with Nokia Qt SDK, Web Runtime, or Java and Publish to Ovi Store
http://p.sf.net/sfu/nokia-dev2dev
_______________________________________________
Openbravo-commits mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/openbravo-commits