Search in sources :

Example 1 with SearchServiceStatusImpl

use of org.olat.search.service.SearchServiceStatusImpl in project OpenOLAT by OpenOLAT.

the class IndexerWebService method getStatus.

/**
 * Return the status of the indexer: running, stopped
 * @response.representation.200.mediaType application/xml, application/json
 * @response.representation.200.doc The status of the indexer
 * @response.representation.401.doc The roles of the authenticated user are not sufficient
 * @return The status of the indexer
 */
@GET
@Path("status")
@Produces({ MediaType.APPLICATION_XML, MediaType.APPLICATION_JSON })
public Response getStatus() {
    String status;
    SearchServiceStatus serviceStatus = SearchServiceFactory.getService().getStatus();
    if (serviceStatus instanceof SearchServiceStatusImpl) {
        status = serviceStatus.getStatus();
    } else {
        status = "disabled";
    }
    return Response.ok(new IndexerStatus(status)).build();
}
Also used : IndexerStatus(org.olat.restapi.system.vo.IndexerStatus) FullIndexerStatus(org.olat.search.service.indexer.FullIndexerStatus) SearchServiceStatusImpl(org.olat.search.service.SearchServiceStatusImpl) SearchServiceStatus(org.olat.search.SearchServiceStatus) Path(javax.ws.rs.Path) Produces(javax.ws.rs.Produces) GET(javax.ws.rs.GET)

Example 2 with SearchServiceStatusImpl

use of org.olat.search.service.SearchServiceStatusImpl in project OpenOLAT by OpenOLAT.

the class IndexerWebService method getPlainTextStatus.

/**
 * Return the status of the indexer: running, stopped
 * @response.representation.200.mediaType text/plain
 * @response.representation.200.doc The status of the indexer
 * @response.representation.401.doc The roles of the authenticated user are not sufficient
 * @return The status of the indexer
 */
@GET
@Path("status")
@Produces({ MediaType.TEXT_PLAIN })
public Response getPlainTextStatus() {
    String status;
    SearchServiceStatus serviceStatus = SearchServiceFactory.getService().getStatus();
    if (serviceStatus instanceof SearchServiceStatusImpl) {
        status = serviceStatus.getStatus();
    } else {
        status = "disabled";
    }
    return Response.ok(status).build();
}
Also used : SearchServiceStatusImpl(org.olat.search.service.SearchServiceStatusImpl) SearchServiceStatus(org.olat.search.SearchServiceStatus) Path(javax.ws.rs.Path) Produces(javax.ws.rs.Produces) GET(javax.ws.rs.GET)

Example 3 with SearchServiceStatusImpl

use of org.olat.search.service.SearchServiceStatusImpl 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 4 with SearchServiceStatusImpl

use of org.olat.search.service.SearchServiceStatusImpl 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 5 with SearchServiceStatusImpl

use of org.olat.search.service.SearchServiceStatusImpl 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)

Aggregations

SearchServiceStatus (org.olat.search.SearchServiceStatus)10 SearchServiceStatusImpl (org.olat.search.service.SearchServiceStatusImpl)10 FullIndexerStatus (org.olat.search.service.indexer.FullIndexerStatus)8 GET (javax.ws.rs.GET)4 Path (javax.ws.rs.Path)4 Produces (javax.ws.rs.Produces)4 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 IndexerStatus (org.olat.restapi.system.vo.IndexerStatus)2