Search in sources :

Example 1 with FullIndexerStatus

use of org.olat.search.service.indexer.FullIndexerStatus in project openolat by klemens.

the class IndexerWebService method getIndexerStatistics.

protected IndexerStatisticsVO getIndexerStatistics() {
    IndexerStatisticsVO stats = new IndexerStatisticsVO();
    SearchServiceStatus status = SearchServiceFactory.getService().getStatus();
    if (status instanceof SearchServiceStatusImpl) {
        SearchServiceStatusImpl statusImpl = (SearchServiceStatusImpl) status;
        FullIndexerStatus fStatus = statusImpl.getFullIndexerStatus();
        stats.setIndexedDocumentCount(fStatus.getDocumentCount());
        stats.setExcludedDocumentCount(fStatus.getExcludedDocumentCount());
        stats.setIndexSize(fStatus.getIndexSize());
        stats.setIndexingTime(fStatus.getIndexingTime());
        stats.setFullIndexStartedAt(fStatus.getFullIndexStartedAt());
        stats.setDocumentQueueSize(fStatus.getDocumentQueueSize());
        stats.setRunningFolderIndexerCount(fStatus.getNumberRunningFolderIndexer());
        stats.setAvailableFolderIndexerCount(fStatus.getNumberAvailableFolderIndexer());
        stats.setLastFullIndexTime(fStatus.getLastFullIndexDateString());
        stats.setStatus(status.getStatus());
    } else {
        stats.setStatus("disabled");
    }
    return stats;
}
Also used : IndexerStatisticsVO(org.olat.restapi.system.vo.IndexerStatisticsVO) FullIndexerStatus(org.olat.search.service.indexer.FullIndexerStatus) SearchServiceStatusImpl(org.olat.search.service.SearchServiceStatusImpl) SearchServiceStatus(org.olat.search.SearchServiceStatus)

Example 2 with FullIndexerStatus

use of org.olat.search.service.indexer.FullIndexerStatus in project OpenOLAT by OpenOLAT.

the class MonitoringService method getStatistics.

public Statistics getStatistics() {
    Statistics statistics = new Statistics();
    SessionsVO sessionsVo = new OpenOLATStatisticsWebService().getSessionsVO();
    statistics.setSessionsVo(sessionsVo);
    SearchServiceStatus status = SearchServiceFactory.getService().getStatus();
    if (status instanceof SearchServiceStatusImpl) {
        SearchServiceStatusImpl statusImpl = (SearchServiceStatusImpl) status;
        FullIndexerStatus fStatus = statusImpl.getFullIndexerStatus();
        statistics.setLastFullIndexTime(fStatus.getLastFullIndexDateString());
    }
    // activeUserCount="88" // registered and activated identities, same as in GUI
    if (start < 1 || (System.currentTimeMillis() - start) > RENEW_RATE) {
        start = System.currentTimeMillis();
        activeUserCount = securityManager.countIdentitiesByPowerSearch(null, null, false, null, null, null, null, null, null, null, Constants.USERSTATUS_ACTIVE);
        totalGroupCount = businessGroupService.countBusinessGroups(null, null);
        publishedCourses = repositoryManager.countPublished(CourseModule.ORES_TYPE_COURSE);
    }
    statistics.setActiveUserCount(activeUserCount);
    statistics.setTotalGroupCount(totalGroupCount);
    statistics.setPublishedCourses(publishedCourses);
    DatabaseConnectionVO connections = databaseStatsManager.getConnectionInfos();
    if (connections != null) {
        statistics.setActiveConnectionCount(connections.getActiveConnectionCount());
        statistics.setCurrentConnectionCount(connections.getCurrentConnectionCount());
    }
    return statistics;
}
Also used : SessionsVO(org.olat.restapi.system.vo.SessionsVO) FullIndexerStatus(org.olat.search.service.indexer.FullIndexerStatus) SearchServiceStatusImpl(org.olat.search.service.SearchServiceStatusImpl) SearchServiceStatus(org.olat.search.SearchServiceStatus) DatabaseConnectionVO(org.olat.admin.sysinfo.model.DatabaseConnectionVO)

Example 3 with FullIndexerStatus

use of org.olat.search.service.indexer.FullIndexerStatus in project OpenOLAT by OpenOLAT.

the class ProcSamplerJob method writeProcFile.

public void writeProcFile(File xmlFile) {
    try {
        Statistics statistics = CoreSpringFactory.getImpl(MonitoringService.class).getStatistics();
        Document doc = loadDocument(xmlFile);
        if (doc == null)
            return;
        Element rootEl = doc.getDocumentElement();
        // sessions
        SessionsVO sessionsVo = statistics.getSessionsVo();
        addValue("secureAuthenticatedCount", sessionsVo.getSecureAuthenticatedCount(), rootEl, doc);
        addValue("secureRestCount", sessionsVo.getSecureRestCount(), rootEl, doc);
        addValue("secureWebdavCount", sessionsVo.getSecureWebdavCount(), rootEl, doc);
        // clicks
        addValue("authenticatedClickCountLastFiveMinutes", sessionsVo.getAuthenticatedClickCountLastFiveMinutes(), rootEl, doc);
        addValue("concurrentDispatchThreads", sessionsVo.getConcurrentDispatchThreads(), rootEl, doc);
        addValue("requestLastFiveMinutes", sessionsVo.getRequestLastFiveMinutes(), rootEl, doc);
        addValue("requestLastMinute", sessionsVo.getRequestLastMinute(), rootEl, doc);
        // openolat
        addValue("activeUserCount", statistics.getActiveUserCount(), rootEl, doc);
        addValue("totalGroupCount", statistics.getTotalGroupCount(), rootEl, doc);
        addValue("publishedCourses", statistics.getPublishedCourses(), rootEl, doc);
        // indexer
        SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss");
        format.setTimeZone(TimeZones.getUtcTimeZone());
        SearchServiceStatus status = SearchServiceFactory.getService().getStatus();
        if (status instanceof SearchServiceStatusImpl) {
            SearchServiceStatusImpl statusImpl = (SearchServiceStatusImpl) status;
            FullIndexerStatus fStatus = statusImpl.getFullIndexerStatus();
            String date = format.format(new Date(fStatus.getLastFullIndexTime()));
            addValue("lastFullIndexTime", date, rootEl, doc);
        }
        // marker
        addValue("lastOpenOLATSampling", format.format(new Date()), rootEl, doc);
        // Use a Transformer for output
        try (OutputStream out = new FileOutputStream(xmlFile)) {
            TransformerFactory tFactory = TransformerFactory.newInstance();
            Transformer transformer = tFactory.newTransformer();
            transformer.setOutputProperty(OutputKeys.INDENT, "yes");
            transformer.transform(new DOMSource(doc), new StreamResult(out));
        } catch (IOException e) {
            log.error("", e);
        }
    } catch (Exception e) {
        log.error("", e);
    }
}
Also used : DOMSource(javax.xml.transform.dom.DOMSource) TransformerFactory(javax.xml.transform.TransformerFactory) Transformer(javax.xml.transform.Transformer) StreamResult(javax.xml.transform.stream.StreamResult) FullIndexerStatus(org.olat.search.service.indexer.FullIndexerStatus) Element(org.w3c.dom.Element) OutputStream(java.io.OutputStream) FileOutputStream(java.io.FileOutputStream) SearchServiceStatusImpl(org.olat.search.service.SearchServiceStatusImpl) IOException(java.io.IOException) Document(org.w3c.dom.Document) Statistics(org.olat.restapi.system.MonitoringService.Statistics) Date(java.util.Date) IOException(java.io.IOException) SAXParseException(org.xml.sax.SAXParseException) SessionsVO(org.olat.restapi.system.vo.SessionsVO) FileOutputStream(java.io.FileOutputStream) SimpleDateFormat(java.text.SimpleDateFormat) SearchServiceStatus(org.olat.search.SearchServiceStatus)

Example 4 with FullIndexerStatus

use of org.olat.search.service.indexer.FullIndexerStatus in project OpenOLAT by OpenOLAT.

the class IndexerWebService method getIndexerStatistics.

protected IndexerStatisticsVO getIndexerStatistics() {
    IndexerStatisticsVO stats = new IndexerStatisticsVO();
    SearchServiceStatus status = SearchServiceFactory.getService().getStatus();
    if (status instanceof SearchServiceStatusImpl) {
        SearchServiceStatusImpl statusImpl = (SearchServiceStatusImpl) status;
        FullIndexerStatus fStatus = statusImpl.getFullIndexerStatus();
        stats.setIndexedDocumentCount(fStatus.getDocumentCount());
        stats.setExcludedDocumentCount(fStatus.getExcludedDocumentCount());
        stats.setIndexSize(fStatus.getIndexSize());
        stats.setIndexingTime(fStatus.getIndexingTime());
        stats.setFullIndexStartedAt(fStatus.getFullIndexStartedAt());
        stats.setDocumentQueueSize(fStatus.getDocumentQueueSize());
        stats.setRunningFolderIndexerCount(fStatus.getNumberRunningFolderIndexer());
        stats.setAvailableFolderIndexerCount(fStatus.getNumberAvailableFolderIndexer());
        stats.setLastFullIndexTime(fStatus.getLastFullIndexDateString());
        stats.setStatus(status.getStatus());
    } else {
        stats.setStatus("disabled");
    }
    return stats;
}
Also used : IndexerStatisticsVO(org.olat.restapi.system.vo.IndexerStatisticsVO) FullIndexerStatus(org.olat.search.service.indexer.FullIndexerStatus) SearchServiceStatusImpl(org.olat.search.service.SearchServiceStatusImpl) SearchServiceStatus(org.olat.search.SearchServiceStatus)

Example 5 with FullIndexerStatus

use of org.olat.search.service.indexer.FullIndexerStatus in project openolat by klemens.

the class MonitoringService method getStatistics.

public Statistics getStatistics() {
    Statistics statistics = new Statistics();
    SessionsVO sessionsVo = new OpenOLATStatisticsWebService().getSessionsVO();
    statistics.setSessionsVo(sessionsVo);
    SearchServiceStatus status = SearchServiceFactory.getService().getStatus();
    if (status instanceof SearchServiceStatusImpl) {
        SearchServiceStatusImpl statusImpl = (SearchServiceStatusImpl) status;
        FullIndexerStatus fStatus = statusImpl.getFullIndexerStatus();
        statistics.setLastFullIndexTime(fStatus.getLastFullIndexDateString());
    }
    // activeUserCount="88" // registered and activated identities, same as in GUI
    if (start < 1 || (System.currentTimeMillis() - start) > RENEW_RATE) {
        start = System.currentTimeMillis();
        activeUserCount = securityManager.countIdentitiesByPowerSearch(null, null, false, null, null, null, null, null, null, null, Constants.USERSTATUS_ACTIVE);
        totalGroupCount = businessGroupService.countBusinessGroups(null, null);
        publishedCourses = repositoryManager.countPublished(CourseModule.ORES_TYPE_COURSE);
    }
    statistics.setActiveUserCount(activeUserCount);
    statistics.setTotalGroupCount(totalGroupCount);
    statistics.setPublishedCourses(publishedCourses);
    DatabaseConnectionVO connections = databaseStatsManager.getConnectionInfos();
    if (connections != null) {
        statistics.setActiveConnectionCount(connections.getActiveConnectionCount());
        statistics.setCurrentConnectionCount(connections.getCurrentConnectionCount());
    }
    return statistics;
}
Also used : SessionsVO(org.olat.restapi.system.vo.SessionsVO) FullIndexerStatus(org.olat.search.service.indexer.FullIndexerStatus) SearchServiceStatusImpl(org.olat.search.service.SearchServiceStatusImpl) SearchServiceStatus(org.olat.search.SearchServiceStatus) DatabaseConnectionVO(org.olat.admin.sysinfo.model.DatabaseConnectionVO)

Aggregations

SearchServiceStatus (org.olat.search.SearchServiceStatus)6 SearchServiceStatusImpl (org.olat.search.service.SearchServiceStatusImpl)6 FullIndexerStatus (org.olat.search.service.indexer.FullIndexerStatus)6 SessionsVO (org.olat.restapi.system.vo.SessionsVO)4 FileOutputStream (java.io.FileOutputStream)2 IOException (java.io.IOException)2 OutputStream (java.io.OutputStream)2 SimpleDateFormat (java.text.SimpleDateFormat)2 Date (java.util.Date)2 Transformer (javax.xml.transform.Transformer)2 TransformerFactory (javax.xml.transform.TransformerFactory)2 DOMSource (javax.xml.transform.dom.DOMSource)2 StreamResult (javax.xml.transform.stream.StreamResult)2 DatabaseConnectionVO (org.olat.admin.sysinfo.model.DatabaseConnectionVO)2 Statistics (org.olat.restapi.system.MonitoringService.Statistics)2 IndexerStatisticsVO (org.olat.restapi.system.vo.IndexerStatisticsVO)2 Document (org.w3c.dom.Document)2 Element (org.w3c.dom.Element)2 SAXParseException (org.xml.sax.SAXParseException)2