You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@brooklyn.apache.org by he...@apache.org on 2021/06/16 14:11:01 UTC
[brooklyn-server] 02/06: Add doc and TODOS
This is an automated email from the ASF dual-hosted git repository.
heneveld pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/brooklyn-server.git
commit b2c0c010af053d12502ecdfc8f96d0e9745c9557
Author: Juan Cabrerizo <ju...@cloudsoft.io>
AuthorDate: Wed Jun 16 09:27:36 2021 +0100
Add doc and TODOS
---
.../java/org/apache/brooklyn/util/core/logbook/BrooklynLogEntry.java | 4 ++++
.../main/java/org/apache/brooklyn/util/core/logbook/LogStore.java | 3 +++
.../org/apache/brooklyn/util/core/logbook/file/FileLogStore.java | 5 ++++-
.../util/core/logbook/opensearch/BrooklynOpenSearchModel.java | 5 +++++
.../brooklyn/util/core/logbook/opensearch/OpenSearchLogStore.java | 3 ++-
5 files changed, 18 insertions(+), 2 deletions(-)
diff --git a/core/src/main/java/org/apache/brooklyn/util/core/logbook/BrooklynLogEntry.java b/core/src/main/java/org/apache/brooklyn/util/core/logbook/BrooklynLogEntry.java
index 1e997a3..4ba0256 100644
--- a/core/src/main/java/org/apache/brooklyn/util/core/logbook/BrooklynLogEntry.java
+++ b/core/src/main/java/org/apache/brooklyn/util/core/logbook/BrooklynLogEntry.java
@@ -25,6 +25,10 @@ import org.apache.brooklyn.util.exceptions.Exceptions;
import java.util.Date;
+/**
+ * This class models the log format used by Apache Brooklyn by default
+ * @see `etc/org.ops4j.pax.logging.cfg`
+ */
public class BrooklynLogEntry {
@JsonProperty("timestamp")
diff --git a/core/src/main/java/org/apache/brooklyn/util/core/logbook/LogStore.java b/core/src/main/java/org/apache/brooklyn/util/core/logbook/LogStore.java
index 3d0214e..83e88be 100644
--- a/core/src/main/java/org/apache/brooklyn/util/core/logbook/LogStore.java
+++ b/core/src/main/java/org/apache/brooklyn/util/core/logbook/LogStore.java
@@ -24,6 +24,9 @@ import java.util.List;
public interface LogStore {
/**
* Expects a set of parameters {@link LogBookQueryParams} to query to the implemented logstore
+ * @param query Depending on the implementation some of fields could be mandatory
+ * @return List of the log entries modeled
+ * @throws IOException
*/
List<BrooklynLogEntry> query(LogBookQueryParams query) throws IOException;
diff --git a/core/src/main/java/org/apache/brooklyn/util/core/logbook/file/FileLogStore.java b/core/src/main/java/org/apache/brooklyn/util/core/logbook/file/FileLogStore.java
index 0696ea5..cf94baf 100644
--- a/core/src/main/java/org/apache/brooklyn/util/core/logbook/file/FileLogStore.java
+++ b/core/src/main/java/org/apache/brooklyn/util/core/logbook/file/FileLogStore.java
@@ -18,6 +18,7 @@
*/
package org.apache.brooklyn.util.core.logbook.file;
+import com.google.common.annotations.VisibleForTesting;
import com.google.common.base.Preconditions;
import com.google.common.collect.ImmutableList;
import org.apache.brooklyn.api.mgmt.ManagementContext;
@@ -73,6 +74,7 @@ public class FileLogStore implements LogStore {
private final String logLinePattern;
private final String logDateFormat;
+ @VisibleForTesting
public FileLogStore() {
this.path = null;
this.filePath = "";
@@ -90,7 +92,8 @@ public class FileLogStore implements LogStore {
@Override
public List<BrooklynLogEntry> query(LogBookQueryParams params) {
- // TODO the read of the file needs to be improved, specially to implement reading the file backwards
+ // TODO the read of the file needs to be improved, specially to implement reading the file backwards and
+ // do a correct multiline log reading
try (Stream<String> stream = Files.lines(path)) {
Predicate<BrooklynLogEntry> filter = brooklynLogEntry -> {
String initTime = params.getInitTime();
diff --git a/core/src/main/java/org/apache/brooklyn/util/core/logbook/opensearch/BrooklynOpenSearchModel.java b/core/src/main/java/org/apache/brooklyn/util/core/logbook/opensearch/BrooklynOpenSearchModel.java
index 4e17b85..1cd8e26 100644
--- a/core/src/main/java/org/apache/brooklyn/util/core/logbook/opensearch/BrooklynOpenSearchModel.java
+++ b/core/src/main/java/org/apache/brooklyn/util/core/logbook/opensearch/BrooklynOpenSearchModel.java
@@ -22,6 +22,11 @@ import org.apache.brooklyn.util.core.logbook.BrooklynLogEntry;
import java.util.List;
+/**
+ * This class models the data returned by the ElasticSearch search method. Only the required fields for the implemented
+ * behaviour are present.
+ * The original doc can be found in: https://www.elastic.co/guide/en/elasticsearch/reference/current/search-search.html#search-api-response-body
+ */
class BrooklynOpenSearchModel {
OpenSearchHitsWrapper hits;
Integer took;
diff --git a/core/src/main/java/org/apache/brooklyn/util/core/logbook/opensearch/OpenSearchLogStore.java b/core/src/main/java/org/apache/brooklyn/util/core/logbook/opensearch/OpenSearchLogStore.java
index ef4ca28..20a09fa 100644
--- a/core/src/main/java/org/apache/brooklyn/util/core/logbook/opensearch/OpenSearchLogStore.java
+++ b/core/src/main/java/org/apache/brooklyn/util/core/logbook/opensearch/OpenSearchLogStore.java
@@ -106,6 +106,7 @@ public class OpenSearchLogStore implements LogStore {
private Boolean verifySsl;
private String indexName;
+ @VisibleForTesting
public OpenSearchLogStore() {
this.mgmt = null;
}
@@ -144,7 +145,7 @@ public class OpenSearchLogStore implements LogStore {
try {
url = new URL(host);
} catch (MalformedURLException e) {
- throw new IllegalArgumentException("The provided host OpenSeatch host ulr is not valid: " + host);
+ throw new IllegalArgumentException("The provided host OpenSearch host URL is not valid: " + host);
}
HttpHost httpHost = new HttpHost(url.getHost(), url.getPort());
CredentialsProvider provider = new BasicCredentialsProvider();