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 2014/08/06 23:17:00 UTC
[08/11] git commit: improve startup logging,
mainly saying where persistence is being done for reference,
and moving OSGi timing to debug
improve startup logging, mainly saying where persistence is being done for reference,
and moving OSGi timing to debug
Project: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/commit/560514cd
Tree: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/tree/560514cd
Diff: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/diff/560514cd
Branch: refs/heads/master
Commit: 560514cdab2b37964d66d8368945f24d2d2ea582
Parents: bf627f7
Author: Alex Heneveld <al...@cloudsoftcorp.com>
Authored: Wed Aug 6 13:44:19 2014 -0400
Committer: Alex Heneveld <al...@cloudsoftcorp.com>
Committed: Wed Aug 6 13:44:19 2014 -0400
----------------------------------------------------------------------
.../mementos/BrooklynMementoManifest.java | 2 ++
.../mementos/BrooklynMementoPersister.java | 3 +++
.../entity/rebind/RebindManagerImpl.java | 21 ++++++++++++++------
.../rebind/dto/BrooklynMementoManifestImpl.java | 6 ++++++
.../AbstractBrooklynMementoPersister.java | 6 ++++++
.../BrooklynMementoPersisterToMultiFile.java | 6 ++++++
.../BrooklynMementoPersisterToObjectStore.java | 5 +++++
.../src/main/java/brooklyn/util/osgi/Osgis.java | 9 ++++-----
8 files changed, 47 insertions(+), 11 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/560514cd/api/src/main/java/brooklyn/mementos/BrooklynMementoManifest.java
----------------------------------------------------------------------
diff --git a/api/src/main/java/brooklyn/mementos/BrooklynMementoManifest.java b/api/src/main/java/brooklyn/mementos/BrooklynMementoManifest.java
index 14c1a80..9fbaff3 100644
--- a/api/src/main/java/brooklyn/mementos/BrooklynMementoManifest.java
+++ b/api/src/main/java/brooklyn/mementos/BrooklynMementoManifest.java
@@ -36,4 +36,6 @@ public interface BrooklynMementoManifest extends Serializable {
public Map<String, String> getEnricherIdToType();
+ public boolean isEmpty();
+
}
http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/560514cd/api/src/main/java/brooklyn/mementos/BrooklynMementoPersister.java
----------------------------------------------------------------------
diff --git a/api/src/main/java/brooklyn/mementos/BrooklynMementoPersister.java b/api/src/main/java/brooklyn/mementos/BrooklynMementoPersister.java
index 7755ab6..4b4adcd 100644
--- a/api/src/main/java/brooklyn/mementos/BrooklynMementoPersister.java
+++ b/api/src/main/java/brooklyn/mementos/BrooklynMementoPersister.java
@@ -71,6 +71,8 @@ public interface BrooklynMementoPersister {
@VisibleForTesting
void waitForWritesCompleted(long timeout, TimeUnit unit) throws InterruptedException, TimeoutException;
+ String getBackingStoreDescription();
+
public interface Delta {
Collection<LocationMemento> locations();
Collection<EntityMemento> entities();
@@ -81,4 +83,5 @@ public interface BrooklynMementoPersister {
Collection<String> removedPolicyIds();
Collection<String> removedEnricherIds();
}
+
}
http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/560514cd/core/src/main/java/brooklyn/entity/rebind/RebindManagerImpl.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/brooklyn/entity/rebind/RebindManagerImpl.java b/core/src/main/java/brooklyn/entity/rebind/RebindManagerImpl.java
index 2bd121c..2116ae6 100644
--- a/core/src/main/java/brooklyn/entity/rebind/RebindManagerImpl.java
+++ b/core/src/main/java/brooklyn/entity/rebind/RebindManagerImpl.java
@@ -301,6 +301,13 @@ public class RebindManagerImpl implements RebindManager {
//
BrooklynMementoManifest mementoManifest = persister.loadMementoManifest(exceptionHandler);
+
+ boolean isEmpty = mementoManifest.isEmpty();
+ if (!isEmpty) {
+ LOG.info("Rebinding from "+getPersister().getBackingStoreDescription()+"...");
+ } else {
+ LOG.info("Rebind check: no existing state; will persist new items to "+getPersister().getBackingStoreDescription());
+ }
// Instantiate locations
LOG.debug("RebindManager instantiating locations: {}", mementoManifest.getLocationIdToType().keySet());
@@ -516,12 +523,14 @@ public class RebindManagerImpl implements RebindManager {
exceptionHandler.onDone();
- LOG.info("Rebind complete: {} app{}, {} entit{}, {} location{}, {} polic{}, {} enricher{}", new Object[]{
- apps.size(), Strings.s(apps),
- entities.size(), Strings.ies(entities),
- locations.size(), Strings.s(locations),
- policies.size(), Strings.ies(policies),
- enrichers.size(), Strings.s(enrichers) });
+ if (!isEmpty) {
+ LOG.info("Rebind complete: {} app{}, {} entit{}, {} location{}, {} polic{}, {} enricher{}", new Object[]{
+ apps.size(), Strings.s(apps),
+ entities.size(), Strings.ies(entities),
+ locations.size(), Strings.s(locations),
+ policies.size(), Strings.ies(policies),
+ enrichers.size(), Strings.s(enrichers) });
+ }
// Return the top-level applications
LOG.debug("RebindManager complete; return apps: {}", memento.getApplicationIds());
http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/560514cd/core/src/main/java/brooklyn/entity/rebind/dto/BrooklynMementoManifestImpl.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/brooklyn/entity/rebind/dto/BrooklynMementoManifestImpl.java b/core/src/main/java/brooklyn/entity/rebind/dto/BrooklynMementoManifestImpl.java
index e08bc86..ca765f3 100644
--- a/core/src/main/java/brooklyn/entity/rebind/dto/BrooklynMementoManifestImpl.java
+++ b/core/src/main/java/brooklyn/entity/rebind/dto/BrooklynMementoManifestImpl.java
@@ -104,4 +104,10 @@ public class BrooklynMementoManifestImpl implements BrooklynMementoManifest, Ser
public Map<String, String> getEnricherIdToType() {
return Collections.unmodifiableMap(enricherIdToType);
}
+
+ @Override
+ public boolean isEmpty() {
+ return entityIdToType.isEmpty() && locationIdToType.isEmpty() && policyIdToType.isEmpty() && enricherIdToType.isEmpty();
+ }
+
}
http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/560514cd/core/src/main/java/brooklyn/entity/rebind/persister/AbstractBrooklynMementoPersister.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/brooklyn/entity/rebind/persister/AbstractBrooklynMementoPersister.java b/core/src/main/java/brooklyn/entity/rebind/persister/AbstractBrooklynMementoPersister.java
index 6fc080e..3ef5220 100644
--- a/core/src/main/java/brooklyn/entity/rebind/persister/AbstractBrooklynMementoPersister.java
+++ b/core/src/main/java/brooklyn/entity/rebind/persister/AbstractBrooklynMementoPersister.java
@@ -85,4 +85,10 @@ public abstract class AbstractBrooklynMementoPersister implements BrooklynMement
memento.updatePolicyMementos(delta.policies());
memento.updateEnricherMementos(delta.enrichers());
}
+
+ @Override
+ public String getBackingStoreDescription() {
+ return toString();
+ }
+
}
http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/560514cd/core/src/main/java/brooklyn/entity/rebind/persister/BrooklynMementoPersisterToMultiFile.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/brooklyn/entity/rebind/persister/BrooklynMementoPersisterToMultiFile.java b/core/src/main/java/brooklyn/entity/rebind/persister/BrooklynMementoPersisterToMultiFile.java
index e587964..2e87de3 100644
--- a/core/src/main/java/brooklyn/entity/rebind/persister/BrooklynMementoPersisterToMultiFile.java
+++ b/core/src/main/java/brooklyn/entity/rebind/persister/BrooklynMementoPersisterToMultiFile.java
@@ -489,4 +489,10 @@ public class BrooklynMementoPersisterToMultiFile implements BrooklynMementoPersi
private File getFileFor(EnricherMemento enricher) {
return new File(enrichersDir, enricher.getId());
}
+
+ @Override
+ public String getBackingStoreDescription() {
+ return toString();
+ }
+
}
http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/560514cd/core/src/main/java/brooklyn/entity/rebind/persister/BrooklynMementoPersisterToObjectStore.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/brooklyn/entity/rebind/persister/BrooklynMementoPersisterToObjectStore.java b/core/src/main/java/brooklyn/entity/rebind/persister/BrooklynMementoPersisterToObjectStore.java
index 838f252..0a62332 100644
--- a/core/src/main/java/brooklyn/entity/rebind/persister/BrooklynMementoPersisterToObjectStore.java
+++ b/core/src/main/java/brooklyn/entity/rebind/persister/BrooklynMementoPersisterToObjectStore.java
@@ -562,5 +562,10 @@ public class BrooklynMementoPersisterToObjectStore implements BrooklynMementoPer
private String getPath(String subPath, String id) {
return subPath+"/"+id;
}
+
+ @Override
+ public String getBackingStoreDescription() {
+ return getObjectStore().getSummaryName();
+ }
}
http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/560514cd/core/src/main/java/brooklyn/util/osgi/Osgis.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/brooklyn/util/osgi/Osgis.java b/core/src/main/java/brooklyn/util/osgi/Osgis.java
index c557a92..2df3fbf 100644
--- a/core/src/main/java/brooklyn/util/osgi/Osgis.java
+++ b/core/src/main/java/brooklyn/util/osgi/Osgis.java
@@ -61,12 +61,13 @@ import brooklyn.util.guava.Maybe;
import brooklyn.util.net.Urls;
import brooklyn.util.os.Os;
import brooklyn.util.stream.Streams;
-import brooklyn.util.text.Strings;
+import brooklyn.util.time.Duration;
import com.google.common.annotations.Beta;
import com.google.common.base.Joiner;
import com.google.common.base.Predicate;
import com.google.common.base.Predicates;
+import com.google.common.base.Stopwatch;
/**
* utilities for working with osgi.
@@ -168,7 +169,7 @@ public class Osgis {
if (felixCacheDir!=null) cfg.put(Constants.FRAMEWORK_STORAGE, felixCacheDir);
FrameworkFactory factory = newFrameworkFactory();
- long frameworkInitStart = System.currentTimeMillis();
+ Stopwatch timer = Stopwatch.createStarted();
Framework framework = factory.newFramework(cfg);
try {
framework.init();
@@ -178,9 +179,7 @@ public class Osgis {
// framework bundle start exceptions are not interesting to caller...
throw Exceptions.propagate(e);
}
- long frameworkInitEnd = System.currentTimeMillis();
- double frameworkInitSeconds = ((double)frameworkInitEnd - frameworkInitStart) / 1000;
- LOG.info("OSGi framework started in " + Strings.makeRealString(frameworkInitSeconds, -1, 2, -1) + " seconds.");
+ LOG.debug("OSGi framework started in " + Duration.of(timer) + " seconds.");
return framework;
}