コード例 #1
0
ファイル: Queries.java プロジェクト: amoyano/Biblioadmin
/** @exclude */
@decaf.Ignore
class Queries extends NotificationEmitterMBean implements QueriesMBean {

  private final TimedReading _classIndexScans = TimedReading.newPerSecond();
  private final TimedReading _queries = TimedReading.newPerSecond();
  private final AveragingTimedReading _queryExecutionTime = new AveragingTimedReading();

  public Queries(ObjectContainer db, Class<?> type) throws JMException {
    super(db, type);
  }

  private static String classIndexScanNotificationType() {
    return LoadedFromClassIndex.class.getName();
  }

  public double getClassIndexScansPerSecond() {
    return _classIndexScans.read();
  }

  public double getAverageQueryExecutionTime() {
    return _queryExecutionTime.read();
  }

  public double getQueriesPerSecond() {
    return _queries.read();
  }

  public MBeanNotificationInfo[] getNotificationInfo() {
    return new MBeanNotificationInfo[] {
      new MBeanNotificationInfo(
          new String[] {classIndexScanNotificationType()},
          Notification.class.getName(),
          "Notification about class index scans."),
    };
  }

  public void notifyClassIndexScan(LoadedFromClassIndex d) {

    _classIndexScans.increment();

    sendNotification(classIndexScanNotificationType(), d.problem(), d.reason());
  }

  public void notifyQueryStarted() {
    _queries.increment();

    _queryExecutionTime.eventStarted();
  }

  public void notifyQueryFinished() {

    _queryExecutionTime.eventFinished();
  }
}
コード例 #2
0
ファイル: Queries.java プロジェクト: amoyano/Biblioadmin
  public void notifyQueryStarted() {
    _queries.increment();

    _queryExecutionTime.eventStarted();
  }
コード例 #3
0
ファイル: Queries.java プロジェクト: amoyano/Biblioadmin
  public void notifyClassIndexScan(LoadedFromClassIndex d) {

    _classIndexScans.increment();

    sendNotification(classIndexScanNotificationType(), d.problem(), d.reason());
  }
コード例 #4
0
ファイル: Queries.java プロジェクト: amoyano/Biblioadmin
 public double getQueriesPerSecond() {
   return _queries.read();
 }
コード例 #5
0
ファイル: Queries.java プロジェクト: amoyano/Biblioadmin
 public double getClassIndexScansPerSecond() {
   return _classIndexScans.read();
 }