Class JavaJournalPerfSpec
- All Implemented Interfaces:
Serializable,CapabilityFlags,JournalCapabilityFlags,MayVerb,OptionalTests,TestKitBase,org.scalactic.Explicitly,org.scalactic.Tolerance,org.scalactic.TripleEquals,org.scalactic.TripleEqualsSupport,org.scalatest.Alerting,org.scalatest.Assertions,org.scalatest.BeforeAndAfterAll,org.scalatest.BeforeAndAfterEach,org.scalatest.Documenting,org.scalatest.Informing,org.scalatest.matchers.dsl.MatcherWords,org.scalatest.matchers.should.Matchers,org.scalatest.Notifying,org.scalatest.Suite,org.scalatest.SuiteMixin,org.scalatest.TestRegistration,org.scalatest.TestSuite,org.scalatest.verbs.CanVerb,org.scalatest.verbs.MustVerb,org.scalatest.verbs.ShouldVerb,org.scalatest.wordspec.AnyWordSpecLike
Java / JUnit consumable equivalent of pekko.persistence.journal.JournalPerfSpec and pekko.persistence.journal.JournalSpec.
This spec measures execution times of the basic operations that an pekko.persistence.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).
- See Also:
-
pekko.persistence.journal.JournalSpecparam: config configures the Journal plugin to be tested- Serialized Form
-
Nested Class Summary
Nested classes/interfaces inherited from class org.apache.pekko.persistence.journal.JournalPerfSpec
JournalPerfSpec.BenchActor, JournalPerfSpec.Cmd, JournalPerfSpec.Cmd$, JournalPerfSpec.ResetCounter$Nested classes/interfaces inherited from interface org.scalatest.wordspec.AnyWordSpecLike
org.scalatest.wordspec.AnyWordSpecLike.AfterWord, org.scalatest.wordspec.AnyWordSpecLike.ItWord, org.scalatest.wordspec.AnyWordSpecLike.ResultOfTaggedAsInvocationOnString, org.scalatest.wordspec.AnyWordSpecLike.TheyWord, org.scalatest.wordspec.AnyWordSpecLike.WordSpecStringWrapperNested classes/interfaces inherited from interface org.scalatest.Assertions
org.scalatest.Assertions.AssertionsHelperNested classes/interfaces inherited from interface org.scalatest.verbs.CanVerb
org.scalatest.verbs.CanVerb.StringCanWrapperForVerbNested classes/interfaces inherited from interface org.scalactic.Explicitly
org.scalactic.Explicitly.DecidedByEquality<A extends Object>, org.scalactic.Explicitly.DecidedWord, org.scalactic.Explicitly.DeterminedByEquivalence<T extends Object>, org.scalactic.Explicitly.DeterminedWord, org.scalactic.Explicitly.TheAfterWordNested classes/interfaces inherited from interface org.scalatest.matchers.should.Matchers
org.scalatest.matchers.should.Matchers.AnWord, org.scalatest.matchers.should.Matchers.AnyShouldWrapper<T extends Object>, org.scalatest.matchers.should.Matchers.AWord, org.scalatest.matchers.should.Matchers.Collected, org.scalatest.matchers.should.Matchers.HavePropertyMatcherGenerator, org.scalatest.matchers.should.Matchers.KeyWord, org.scalatest.matchers.should.Matchers.RegexWord, org.scalatest.matchers.should.Matchers.RegexWrapper, org.scalatest.matchers.should.Matchers.ResultOfBeWordForAny<T extends Object>, org.scalatest.matchers.should.Matchers.ResultOfBeWordForCollectedAny<T extends Object>, org.scalatest.matchers.should.Matchers.ResultOfBeWordForCollectedArray<T extends Object>, org.scalatest.matchers.should.Matchers.ResultOfCollectedAny<T extends Object>, org.scalatest.matchers.should.Matchers.ResultOfContainWordForCollectedAny<T extends Object>, org.scalatest.matchers.should.Matchers.ResultOfEndWithWordForCollectedString, org.scalatest.matchers.should.Matchers.ResultOfEndWithWordForString, org.scalatest.matchers.should.Matchers.ResultOfFullyMatchWordForCollectedString, org.scalatest.matchers.should.Matchers.ResultOfFullyMatchWordForString, org.scalatest.matchers.should.Matchers.ResultOfHaveWordForCollectedExtent<A extends Object>, org.scalatest.matchers.should.Matchers.ResultOfHaveWordForExtent<A extends Object>, org.scalatest.matchers.should.Matchers.ResultOfIncludeWordForCollectedString, org.scalatest.matchers.should.Matchers.ResultOfIncludeWordForString, org.scalatest.matchers.should.Matchers.ResultOfNotWordForCollectedAny<T extends Object>, org.scalatest.matchers.should.Matchers.ResultOfStartWithWordForCollectedString, org.scalatest.matchers.should.Matchers.ResultOfStartWithWordForString, org.scalatest.matchers.should.Matchers.StringShouldWrapper, org.scalatest.matchers.should.Matchers.TheSameInstanceAsPhrase, org.scalatest.matchers.should.Matchers.ValueWordNested classes/interfaces inherited from interface org.apache.pekko.persistence.scalatest.MayVerb
MayVerb.StringMayWrapperForVerb, MayVerb.TestCanceledByFailure, MayVerb.TestCanceledByFailure$Nested classes/interfaces inherited from interface org.scalatest.verbs.MustVerb
org.scalatest.verbs.MustVerb.StringMustWrapperForVerbNested classes/interfaces inherited from interface org.scalatest.verbs.ShouldVerb
org.scalatest.verbs.ShouldVerb.StringShouldWrapperForVerbNested classes/interfaces inherited from interface org.scalatest.TestSuite
org.scalatest.TestSuite.NoArgTest, org.scalatest.TestSuite.NoArgTest$Nested classes/interfaces inherited from interface org.scalactic.Tolerance
org.scalactic.Tolerance.PlusOrMinusWrapper<T extends Object>Nested classes/interfaces inherited from interface org.scalactic.TripleEqualsSupport
org.scalactic.TripleEqualsSupport.AToBEquivalenceConstraint<A extends Object,B extends Object>, org.scalactic.TripleEqualsSupport.BToAEquivalenceConstraint<A extends Object, B extends Object>, org.scalactic.TripleEqualsSupport.CheckingEqualizer<L extends Object>, org.scalactic.TripleEqualsSupport.EqualityConstraint<A extends Object, B extends Object>, org.scalactic.TripleEqualsSupport.Equalizer<L extends Object>, org.scalactic.TripleEqualsSupport.Spread<T extends Object>, org.scalactic.TripleEqualsSupport.Spread$, org.scalactic.TripleEqualsSupport.TripleEqualsInvocation<T extends Object>, org.scalactic.TripleEqualsSupport.TripleEqualsInvocation$, org.scalactic.TripleEqualsSupport.TripleEqualsInvocationOnSpread<T extends Object>, org.scalactic.TripleEqualsSupport.TripleEqualsInvocationOnSpread$ -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected org.scalatest.Informerinfo()protected CapabilityFlagWhentrueenables tests which check if the Journal properly rejects writes of objects which are notjava.lang.Serializable.protected CapabilityFlagWhentrueenables tests which check if the Journal properly serialize and deserialize events.Methods inherited from class org.apache.pekko.persistence.journal.JournalPerfSpec
awaitDurationMillis, benchActor, eventsCount, feedAndExpectLast, measure, measurementIterationsMethods inherited from class org.apache.pekko.persistence.journal.JournalSpec
beforeEach, config, journal, preparePersistenceId, replayedMessage, replayedMessage$default$2, supportsAtomicPersistAllOfSeveralEvents, supportsMetadata, system, writeMessagesMethods inherited from class org.apache.pekko.persistence.PluginSpec
a, actorInstanceId, after, afterAll, an, be, beforeAll, behave, compile, config, contain, decided, defined, determined, empty, endWith, exist, extension, fullyMatch, have, include, invokeBeforeAllAndAfterAllEvenIfNoTestsAreExpected, it, key, length, matchPattern, NoArgTest, not, org$scalactic$Explicitly$_setter_$after_$eq, org$scalactic$Explicitly$_setter_$decided_$eq, org$scalactic$Explicitly$_setter_$determined_$eq, org$scalatest$Assertions$_setter_$succeed_$eq, org$scalatest$BeforeAndAfterAll$_setter_$invokeBeforeAllAndAfterAllEvenIfNoTestsAreExpected_$eq, org$scalatest$matchers$dsl$MatcherWords$_setter_$be_$eq, org$scalatest$matchers$dsl$MatcherWords$_setter_$compile_$eq, org$scalatest$matchers$dsl$MatcherWords$_setter_$contain_$eq, org$scalatest$matchers$dsl$MatcherWords$_setter_$defined_$eq, org$scalatest$matchers$dsl$MatcherWords$_setter_$empty_$eq, org$scalatest$matchers$dsl$MatcherWords$_setter_$endWith_$eq, org$scalatest$matchers$dsl$MatcherWords$_setter_$exist_$eq, org$scalatest$matchers$dsl$MatcherWords$_setter_$fullyMatch_$eq, org$scalatest$matchers$dsl$MatcherWords$_setter_$have_$eq, org$scalatest$matchers$dsl$MatcherWords$_setter_$include_$eq, org$scalatest$matchers$dsl$MatcherWords$_setter_$length_$eq, org$scalatest$matchers$dsl$MatcherWords$_setter_$matchPattern_$eq, org$scalatest$matchers$dsl$MatcherWords$_setter_$not_$eq, org$scalatest$matchers$dsl$MatcherWords$_setter_$readable_$eq, org$scalatest$matchers$dsl$MatcherWords$_setter_$size_$eq, org$scalatest$matchers$dsl$MatcherWords$_setter_$sorted_$eq, org$scalatest$matchers$dsl$MatcherWords$_setter_$startWith_$eq, org$scalatest$matchers$dsl$MatcherWords$_setter_$typeCheck_$eq, org$scalatest$matchers$dsl$MatcherWords$_setter_$writable_$eq, org$scalatest$matchers$should$Matchers$_setter_$a_$eq, org$scalatest$matchers$should$Matchers$_setter_$an_$eq, org$scalatest$matchers$should$Matchers$_setter_$key_$eq, org$scalatest$matchers$should$Matchers$_setter_$regex_$eq, org$scalatest$matchers$should$Matchers$_setter_$theSameInstanceAs_$eq, org$scalatest$matchers$should$Matchers$_setter_$value_$eq, org$scalatest$Suite$_setter_$styleName_$eq, org$scalatest$wordspec$AnyWordSpecLike$_setter_$behave_$eq, org$scalatest$wordspec$AnyWordSpecLike$_setter_$it_$eq, org$scalatest$wordspec$AnyWordSpecLike$_setter_$stackDepth_$eq, org$scalatest$wordspec$AnyWordSpecLike$_setter_$styleName_$eq, org$scalatest$wordspec$AnyWordSpecLike$_setter_$subjectRegistrationFunction_$eq, org$scalatest$wordspec$AnyWordSpecLike$_setter_$subjectWithAfterWordRegistrationFunction_$eq, org$scalatest$wordspec$AnyWordSpecLike$_setter_$they_$eq, pid, readable, regex, size, sorted, startWith, styleName, subjectRegistrationFunction, subjectWithAfterWordRegistrationFunction, subscribe, succeed, testActor, theSameInstanceAs, they, typeCheck, value, writable, writerUuidMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.scalatest.wordspec.AnyWordSpecLike
afterWord, alert, convertToWordSpecStringWrapper, markup, note, org$scalatest$wordspec$AnyWordSpecLike$_setter_$org$scalatest$wordspec$AnyWordSpecLike$$engine_$eq, org$scalatest$wordspec$AnyWordSpecLike$$engine, org$scalatest$wordspec$AnyWordSpecLike$$registerBranch, org$scalatest$wordspec$AnyWordSpecLike$$registerShorthandBranch, org$scalatest$wordspec$AnyWordSpecLike$$registerTestToIgnore, org$scalatest$wordspec$AnyWordSpecLike$$registerTestToRun, registerIgnoredTest, registerTest, run, runTest, runTests, tags, testDataFor, testDataFor$default$2, testNamesMethods inherited from interface org.scalatest.Assertions
assertResult, assertResult, assertThrows, cancel, cancel, cancel, cancel, fail, fail, fail, fail, intercept, newAssertionFailedException, newTestCanceledException, pending, pendingUntilFixed, withClueMethods inherited from interface org.scalatest.BeforeAndAfterAll
runMethods inherited from interface org.scalatest.BeforeAndAfterEach
afterEach, runTestMethods inherited from interface org.scalatest.verbs.CanVerb
convertToStringCanWrapperMethods inherited from interface org.scalatest.matchers.should.Matchers
$greater, $greater$eq, $less, $less$eq, a, all, all, all, all, allElementsOf, allOf, an, atLeast, atLeast, atLeast, atLeast, atLeastOneElementOf, atLeastOneOf, atMost, atMost, atMost, atMost, atMostOneElementOf, atMostOneOf, between, between, between, convertSymbolToHavePropertyMatcherGenerator, convertToAnyShouldWrapper, convertToRegexWrapper, convertToStringShouldWrapper, definedAt, doCollected, equal, equal, every, every, every, every, exactly, exactly, exactly, exactly, inOrder, inOrderElementsOf, inOrderOnly, message, no, no, no, noElementsOf, noneOf, of, oneElementOf, oneOf, only, org$scalatest$matchers$should$Matchers$_setter_$org$scalatest$matchers$should$Matchers$$AllCollected_$eq, org$scalatest$matchers$should$Matchers$_setter_$org$scalatest$matchers$should$Matchers$$EveryCollected_$eq, org$scalatest$matchers$should$Matchers$_setter_$org$scalatest$matchers$should$Matchers$$NoCollected_$eq, org$scalatest$matchers$should$Matchers$_setter_$org$scalatest$matchers$should$Matchers$$ShouldMethodHelper_$eq, org$scalatest$matchers$should$Matchers$$AllCollected, org$scalatest$matchers$should$Matchers$$AtLeastCollected, org$scalatest$matchers$should$Matchers$$AtMostCollected, org$scalatest$matchers$should$Matchers$$BetweenCollected, org$scalatest$matchers$should$Matchers$$EveryCollected, org$scalatest$matchers$should$Matchers$$ExactlyCollected, org$scalatest$matchers$should$Matchers$$NoCollected, org$scalatest$matchers$should$Matchers$$ShouldMethodHelper, the, theSameElementsAs, theSameElementsInOrderAs, thrownByMethods inherited from interface org.scalatest.matchers.dsl.MatcherWords
equal, noExceptionMethods inherited from interface org.apache.pekko.persistence.scalatest.MayVerb
convertToStringMayWrapper, mayVerbStacktraceContextFrames, optionalMethods inherited from interface org.scalatest.verbs.MustVerb
convertToStringMustWrapperForVerbMethods inherited from interface org.apache.pekko.persistence.scalatest.OptionalTests
optionalMethods inherited from interface org.scalatest.verbs.ShouldVerb
convertToStringShouldWrapperForVerbMethods inherited from interface org.scalatest.Suite
createCatchReporter, execute, execute$default$1, execute$default$2, execute$default$3, execute$default$4, execute$default$5, execute$default$6, execute$default$7, expectedTestCount, nestedSuites, rerunner, runNestedSuites, suiteId, suiteNameMethods inherited from interface org.scalatest.SuiteMixin
expectedTestCount, nestedSuites, rerunner, runNestedSuites, runTests, suiteId, suiteName, tags, testDataFor, testNamesMethods inherited from interface org.apache.pekko.testkit.TestKitBase
assertForDuration, assertForDuration$default$3, awaitAssert, awaitAssert$default$2, awaitAssert$default$3, awaitCond, awaitCond$default$2, awaitCond$default$3, awaitCond$default$4, checkMissingAndUnexpected, childActorOf, childActorOf, childActorOf, childActorOf, end_$eq, expectMsg, expectMsg, expectMsg, expectMsg_internal, expectMsg_internal$default$3, expectMsgAllClassOf, expectMsgAllClassOf, expectMsgAllConformingOf, expectMsgAllConformingOf, expectMsgAllOf, expectMsgAllOf, expectMsgAllOf_internal, expectMsgAnyClassOf, expectMsgAnyClassOf, expectMsgAnyClassOf_internal, expectMsgAnyOf, expectMsgAnyOf, expectMsgAnyOf_internal, expectMsgClass, expectMsgClass, expectMsgClass_internal, expectMsgPF, expectMsgPF$default$1, expectMsgPF$default$2, expectMsgType, expectMsgType, expectNoMessage, expectNoMessage, expectNoMsg_internal, expectTerminated, expectTerminated$default$2, fishForMessage, fishForMessage$default$1, fishForMessage$default$2, fishForSpecificMessage, fishForSpecificMessage$default$1, fishForSpecificMessage$default$2, format, ignoreMsg, ignoreNoMsg, internalExpectMsgAllClassOf, internalExpectMsgAllConformingOf, lastSender, lastWasNoMsg_$eq, msgAvailable, now, receiveN, receiveN, receiveN_internal, receiveOne, receiveWhile, receiveWhile$default$1, receiveWhile$default$2, receiveWhile$default$3, remaining, remainingOr, remainingOrDefault, remainingOrDilated, setAutoPilot, shutdown, shutdown$default$1, shutdown$default$2, shutdown$default$3, testActorName, testKitSettings, unwatch, watch, within, withinMethods inherited from interface org.scalatest.TestSuite
withFixtureMethods inherited from interface org.scalactic.Tolerance
convertNumericToPlusOrMinusWrapperMethods inherited from interface org.scalactic.TripleEquals
conversionCheckedConstraint, convertEquivalenceToAToBConstraint, convertEquivalenceToAToBConversionConstraint, convertEquivalenceToBToAConstraint, convertEquivalenceToBToAConversionConstraint, convertToCheckingEqualizer, convertToEqualizer, lowPriorityConversionCheckedConstraint, lowPriorityTypeCheckedConstraint, typeCheckedConstraint, unconstrainedEqualityMethods inherited from interface org.scalactic.TripleEqualsSupport
$bang$eq$eq, $bang$eq$eq, $bang$eq$eq, $eq$eq$eq, $eq$eq$eq, $eq$eq$eq, defaultEquality
-
Constructor Details
-
JavaJournalPerfSpec
public JavaJournalPerfSpec(com.typesafe.config.Config config)
-
-
Method Details
-
info
protected org.scalatest.Informer info() -
supportsRejectingNonSerializableObjects
Description copied from interface:JournalCapabilityFlagsWhentrueenables tests which check if the Journal properly rejects writes of objects which are notjava.lang.Serializable. -
supportsSerialization
Description copied from interface:JournalCapabilityFlagsWhentrueenables tests which check if the Journal properly serialize and deserialize events.- Specified by:
supportsSerializationin interfaceJournalCapabilityFlags- Overrides:
supportsSerializationin classJournalSpec
-