public class JavaJournalPerfSpec extends JournalPerfSpec
Java / JUnit consumable equivalent of JournalPerfSpec
and JournalSpec
.
This spec measures execution times of the basic operations that an PersistentActor
provides,
using the provided Journal (plugin).
It is *NOT* meant to be a comprehensive benchmark, but rather aims to help plugin developers to easily determine if their plugin's performance is roughly as expected. It also validates the plugin still works under "more messages" scenarios.
The measurements are by default printed to System.out
, if you want to customize this please override the info()
method.
The benchmark iteration and message counts are easily customisable by overriding these methods:
@Override
public long awaitDurationMillis() { return 10000; }
@Override
public int eventsCount() { return 10 * 1000; }
@Override
public int measurementIterations { return 10; }
In case your journal plugin needs some kind of setup or teardown, override the beforeAll
or afterAll
methods (don't forget to call super
in your overridden methods).
JournalPerfSpec.BenchActor, JournalPerfSpec.Cmd, JournalPerfSpec.Cmd$, JournalPerfSpec.ResetCounter$
org.scalatest.WordSpecLike.AfterWord, org.scalatest.WordSpecLike.ItWord, org.scalatest.WordSpecLike.ResultOfTaggedAsInvocationOnString, org.scalatest.WordSpecLike.TheyWord, org.scalatest.WordSpecLike.WordSpecStringWrapper
org.scalatest.Suite.NoArgTest, org.scalatest.Suite.NoArgTest$
org.scalatest.Assertions.AssertionsHelper, org.scalatest.Assertions.NormalResult, org.scalatest.Assertions.NormalResult$
org.scalactic.TripleEqualsSupport.AToBEquivalenceConstraint<A,B>, org.scalactic.TripleEqualsSupport.BToAEquivalenceConstraint<A,B>, org.scalactic.TripleEqualsSupport.CheckingEqualizer<L>, org.scalactic.TripleEqualsSupport.EqualityConstraint<A,B>, org.scalactic.TripleEqualsSupport.Equalizer<L>, org.scalactic.TripleEqualsSupport.LegacyCheckingEqualizer<L>, org.scalactic.TripleEqualsSupport.LegacyEqualizer<L>, org.scalactic.TripleEqualsSupport.Spread<T>, org.scalactic.TripleEqualsSupport.Spread$, org.scalactic.TripleEqualsSupport.TripleEqualsInvocation<T>, org.scalactic.TripleEqualsSupport.TripleEqualsInvocation$, org.scalactic.TripleEqualsSupport.TripleEqualsInvocationOnSpread<T>, org.scalactic.TripleEqualsSupport.TripleEqualsInvocationOnSpread$
org.scalatest.words.MustVerb.StringMustWrapperForVerb, org.scalatest.words.MustVerb.StringMustWrapperForVerb$class
org.scalatest.words.CanVerb.StringCanWrapperForVerb, org.scalatest.words.CanVerb.StringCanWrapperForVerb$class
org.scalatest.Matchers.AllCollected$, org.scalatest.Matchers.AnWord, org.scalatest.Matchers.AnyShouldWrapper<T>, org.scalatest.Matchers.AtLeastCollected, org.scalatest.Matchers.AtLeastCollected$, org.scalatest.Matchers.AtMostCollected, org.scalatest.Matchers.AtMostCollected$, org.scalatest.Matchers.AWord, org.scalatest.Matchers.BetweenCollected, org.scalatest.Matchers.BetweenCollected$, org.scalatest.Matchers.Collected, org.scalatest.Matchers.EveryCollected$, org.scalatest.Matchers.ExactlyCollected, org.scalatest.Matchers.ExactlyCollected$, org.scalatest.Matchers.HavePropertyMatcherGenerator, org.scalatest.Matchers.KeyWord, org.scalatest.Matchers.NoCollected$, org.scalatest.Matchers.RegexWord, org.scalatest.Matchers.RegexWrapper, org.scalatest.Matchers.ResultOfBeWordForAny<T>, org.scalatest.Matchers.ResultOfBeWordForCollectedAny<T>, org.scalatest.Matchers.ResultOfBeWordForCollectedArray<T>, org.scalatest.Matchers.ResultOfCollectedAny<T>, org.scalatest.Matchers.ResultOfContainWordForCollectedAny<T>, org.scalatest.Matchers.ResultOfEndWithWordForCollectedString, org.scalatest.Matchers.ResultOfEndWithWordForString, org.scalatest.Matchers.ResultOfEvaluatingApplication, org.scalatest.Matchers.ResultOfFullyMatchWordForCollectedString, org.scalatest.Matchers.ResultOfFullyMatchWordForString, org.scalatest.Matchers.ResultOfHaveWordForCollectedExtent<A>, org.scalatest.Matchers.ResultOfHaveWordForExtent<A>, org.scalatest.Matchers.ResultOfIncludeWordForCollectedString, org.scalatest.Matchers.ResultOfIncludeWordForString, org.scalatest.Matchers.ResultOfNotWordForCollectedAny<T>, org.scalatest.Matchers.ResultOfProduceInvocation<T>, org.scalatest.Matchers.ResultOfStartWithWordForCollectedString, org.scalatest.Matchers.ResultOfStartWithWordForString, org.scalatest.Matchers.ShouldMethodHelper$, org.scalatest.Matchers.StringShouldWrapper, org.scalatest.Matchers.TheSameInstanceAsPhrase, org.scalatest.Matchers.ValueWord
org.scalactic.Tolerance.PlusOrMinusWrapper<T>
Constructor and Description |
---|
JavaJournalPerfSpec(com.typesafe.config.Config config) |
Modifier and Type | Method and Description |
---|---|
protected org.scalatest.Informer |
info() |
awaitDurationMillis, benchActor, eventsCount, feedAndExpectLast, measure, measurementIterations
beforeEach, config, journal, replayedMessage, supportsAtomicPersistAllOfSeveralEvents, system, writeMessages
actorInstanceId, afterAll, beforeAll, config, extension, pid, subscribe, writerUuid
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
akka$testkit$TestKitBase$_setter_$akka$testkit$TestKitBase$$queue_$eq, akka$testkit$TestKitBase$_setter_$testActor_$eq, akka$testkit$TestKitBase$_setter_$testKitSettings_$eq, akka$testkit$TestKitBase$$end_$eq, akka$testkit$TestKitBase$$end, akka$testkit$TestKitBase$$lastWasNoMsg_$eq, akka$testkit$TestKitBase$$lastWasNoMsg, akka$testkit$TestKitBase$$queue, awaitAssert, awaitAssert$default$2, awaitAssert$default$3, awaitCond, awaitCond$default$2, awaitCond$default$3, awaitCond$default$4, expectMsg, expectMsg, expectMsg, expectMsgAllClassOf, expectMsgAllClassOf, expectMsgAllConformingOf, expectMsgAllConformingOf, expectMsgAllOf, expectMsgAllOf, expectMsgAnyClassOf, expectMsgAnyClassOf, expectMsgAnyOf, expectMsgAnyOf, expectMsgClass, expectMsgClass, expectMsgPF, expectMsgPF$default$1, expectMsgPF$default$2, expectMsgType, expectMsgType, expectNoMsg, expectNoMsg, expectTerminated, expectTerminated$default$2, fishForMessage, fishForMessage$default$1, fishForMessage$default$2, ignoreMsg, ignoreNoMsg, lastMessage_$eq, lastMessage, lastSender, msgAvailable, now, receiveN, receiveN, receiveOne, receiveWhile, receiveWhile$default$1, receiveWhile$default$2, receiveWhile$default$3, remaining, remainingOr, remainingOrDefault, setAutoPilot, shutdown, shutdown$default$1, shutdown$default$2, shutdown$default$3, testActor, testActorName, testKitSettings, unwatch, watch, within, within
afterWord, alert, behave, convertToWordSpecStringWrapper, it, markup, note, org$scalatest$WordSpecLike$_setter_$behave_$eq, org$scalatest$WordSpecLike$_setter_$it_$eq, org$scalatest$WordSpecLike$_setter_$org$scalatest$WordSpecLike$$engine_$eq, org$scalatest$WordSpecLike$_setter_$styleName_$eq, org$scalatest$WordSpecLike$_setter_$subjectRegistrationFunction_$eq, org$scalatest$WordSpecLike$_setter_$subjectWithAfterWordRegistrationFunction_$eq, org$scalatest$WordSpecLike$_setter_$they_$eq, org$scalatest$WordSpecLike$$engine, registerIgnoredTest, registerTest, run, runTest, runTests, styleName, subjectRegistrationFunction, subjectWithAfterWordRegistrationFunction, tags, testDataFor, testDataFor$default$2, testNames, they
createCatchReporter, execute, execute, execute$default$1, execute$default$2, execute$default$3, execute$default$4, execute$default$5, execute$default$6, execute$default$7, expectedTestCount, nestedSuites, NoArgTest, org$scalatest$Suite$_setter_$styleName_$eq, pending, pendingUntilFixed, rerunner, runNestedSuites, suiteId, suiteName, withFixture
assert, assert, assertionsHelper, assertResult, assertResult, assume, assume, cancel, cancel, cancel, cancel, expect, expect, expectResult, expectResult, fail, fail, fail, fail, intercept, newAssertionFailedException, newAssertionFailedException, newTestCanceledException, org$scalatest$Assertions$_setter_$assertionsHelper_$eq, trap, withClue
conversionCheckedConstraint, convertEquivalenceToAToBConstraint, convertEquivalenceToAToBConversionConstraint, convertEquivalenceToBToAConstraint, convertEquivalenceToBToAConversionConstraint, convertToCheckingEqualizer, convertToEqualizer, convertToLegacyCheckingEqualizer, convertToLegacyEqualizer, lowPriorityConversionCheckedConstraint, lowPriorityTypeCheckedConstraint, typeCheckedConstraint, unconstrainedEquality
$bang$eq$eq, $bang$eq$eq, $bang$eq$eq, $eq$eq$eq, $eq$eq$eq, $eq$eq$eq, defaultEquality
$greater, $greater$eq, $less, $less$eq, a, a, all, all, all, allOf, an, an, atLeast, atLeast, atLeast, atLeastOneOf, atMost, atMost, atMost, atMostOneOf, between, between, between, convertSymbolToHavePropertyMatcherGenerator, convertToAnyShouldWrapper, convertToRegexWrapper, convertToStringShouldWrapper, definedAt, doCollected, equal, equal, evaluating, every, every, every, exactly, exactly, exactly, inOrder, inOrderOnly, key, message, no, no, no, noneOf, of, oneOf, only, org$scalatest$Matchers$_setter_$a_$eq, org$scalatest$Matchers$_setter_$an_$eq, org$scalatest$Matchers$_setter_$key_$eq, org$scalatest$Matchers$_setter_$regex_$eq, org$scalatest$Matchers$_setter_$theSameInstanceAs_$eq, org$scalatest$Matchers$_setter_$value_$eq, org$scalatest$Matchers$$AllCollected, org$scalatest$Matchers$$AtLeastCollected, org$scalatest$Matchers$$AtMostCollected, org$scalatest$Matchers$$BetweenCollected, org$scalatest$Matchers$$EveryCollected, org$scalatest$Matchers$$ExactlyCollected, org$scalatest$Matchers$$NoCollected, org$scalatest$Matchers$$ShouldMethodHelper, produce, regex, the, theSameElementsAs, theSameElementsInOrderAs, theSameInstanceAs, thrownBy, value
be, compile, contain, defined, empty, endWith, equal, exist, fullyMatch, have, include, length, matchPattern, noException, not, org$scalatest$words$MatcherWords$_setter_$be_$eq, org$scalatest$words$MatcherWords$_setter_$compile_$eq, org$scalatest$words$MatcherWords$_setter_$contain_$eq, org$scalatest$words$MatcherWords$_setter_$defined_$eq, org$scalatest$words$MatcherWords$_setter_$empty_$eq, org$scalatest$words$MatcherWords$_setter_$endWith_$eq, org$scalatest$words$MatcherWords$_setter_$exist_$eq, org$scalatest$words$MatcherWords$_setter_$fullyMatch_$eq, org$scalatest$words$MatcherWords$_setter_$have_$eq, org$scalatest$words$MatcherWords$_setter_$include_$eq, org$scalatest$words$MatcherWords$_setter_$length_$eq, org$scalatest$words$MatcherWords$_setter_$matchPattern_$eq, org$scalatest$words$MatcherWords$_setter_$noException_$eq, org$scalatest$words$MatcherWords$_setter_$not_$eq, org$scalatest$words$MatcherWords$_setter_$readable_$eq, org$scalatest$words$MatcherWords$_setter_$size_$eq, org$scalatest$words$MatcherWords$_setter_$sorted_$eq, org$scalatest$words$MatcherWords$_setter_$startWith_$eq, org$scalatest$words$MatcherWords$_setter_$typeCheck_$eq, org$scalatest$words$MatcherWords$_setter_$writable_$eq, readable, size, sorted, startWith, typeCheck, writable
after, decided, determined, org$scalactic$Explicitly$_setter_$after_$eq, org$scalactic$Explicitly$_setter_$decided_$eq, org$scalactic$Explicitly$_setter_$determined_$eq
afterAll, beforeAll, invokeBeforeAllAndAfterAllEvenIfNoTestsAreExpected, org$scalatest$BeforeAndAfterAll$_setter_$invokeBeforeAllAndAfterAllEvenIfNoTestsAreExpected_$eq, run