Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix(perf-tests): Initial perf tests had artificially high P99 #229

Merged
merged 3 commits into from
Dec 12, 2024

Conversation

adambollen
Copy link
Contributor

Description

This PR make some tweaks to the perf tests: 1) incorporates the driver-perf-utils repo, 2) adds an empty query before perf tests run to establish connection for the test client, 3) reduces perf test run frequency to 1/day.

Motivation and context

BT-5325

How was the change tested?

Tested locally, ran through several iterations to find where the extra query needed to go.

Screenshots (if appropriate):

Change types

    • Bug fix (non-breaking change that fixes an issue)
    • New feature (non-breaking change that adds functionality)
    • Breaking change (backwards-incompatible fix or feature)
    • Test only change

Checklist:

    • My code follows the code style of this project.
    • My change requires a change to Fauna documentation.
    • My change requires a change to the README, and I have updated it accordingly.

By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

Copy link

github-actions bot commented Dec 12, 2024

Summary

Summary
Generated on: 12/12/2024 - 22:37:32
Parser: OpenCover
Assemblies: 1
Classes: 126
Files: 99
Line coverage: 81.5% (3414 of 4185)
Covered lines: 3414
Uncovered lines: 771
Coverable lines: 4185
Total lines: 10682
Branch coverage: 71.3% (1089 of 1527)
Covered branches: 1089
Total branches: 1527
Method coverage: Feature is only available for sponsors
Tag: a6fd5bb

Coverage

Fauna - 81.5%
Name Line Branch
Fauna 81.5% 71.3%
Fauna.BaseClient 86.8% 77.2%
Fauna.Client 85.9% 73.6%
Fauna.Configuration 100% 100%
Fauna.Core.Connection 95.5% 72.9%
Fauna.Core.Endpoints 100% 100%
Fauna.Core.ErrorInfo 100%
Fauna.Core.FeedEnumerable`1 100% 100%
Fauna.Core.FeedOptions 100%
Fauna.Core.FeedPage`1 88.2% 50%
Fauna.Core.QueryFailure 100% 66.6%
Fauna.Core.QueryOptions 88% 87.5%
Fauna.Core.QueryResponse 70% 77.2%
Fauna.Core.QueryStats 56.2% 0%
Fauna.Core.QuerySuccess`1 69.2% 50%
Fauna.Core.RetryConfiguration 100% 100%
Fauna.Core.Stats 100%
Fauna.Core.StatsCollector 86.2% 100%
Fauna.Core.StreamEnumerable`1 100% 66.6%
Fauna.Exceptions.AbortException 100% 83.3%
Fauna.Exceptions.AuthenticationException 100%
Fauna.Exceptions.AuthorizationException 100%
Fauna.Exceptions.BadGatewayException 0%
Fauna.Exceptions.ConstraintFailure 100%
Fauna.Exceptions.ConstraintFailureException 100%
Fauna.Exceptions.ContendedTransactionException 100%
Fauna.Exceptions.EventException 100%
Fauna.Exceptions.ExceptionHandler 84.3% 89.3%
Fauna.Exceptions.FaunaException 33.3%
Fauna.Exceptions.InvalidRequestException 100%
Fauna.Exceptions.NetworkException 100%
Fauna.Exceptions.NullDocumentException 100% 100%
Fauna.Exceptions.ProtocolException 0%
Fauna.Exceptions.QueryCheckException 100%
Fauna.Exceptions.QueryRuntimeException 100%
Fauna.Exceptions.QueryTimeoutException 100%
Fauna.Exceptions.SerializationException 100%
Fauna.Exceptions.ServiceException 100%
Fauna.Exceptions.ThrottlingException 42.8%
Fauna.Exceptions.TimeoutException 100%
Fauna.Linq.DataContext 80.9% 87.5%
Fauna.Linq.DataContextBuilder`1 92.1% 88.2%
Fauna.Linq.IntermediateQueryHelpers 80% 83.3%
Fauna.Linq.IPipelineExecutor 55.2% 28.2%
Fauna.Linq.IQuerySource 0% 0%
Fauna.Linq.LookupTable 40% 16.6%
Fauna.Linq.MappedDeserializer`2 66.6%
Fauna.Linq.Pipeline 100% 100%
Fauna.Linq.ProjectionAnalysisVisitor 96.1% 87.5%
Fauna.Linq.ProjectionDeserializer 77.2% 58.3%
Fauna.Linq.ProjectionRewriteVisitor 100% 100%
Fauna.Linq.QuerySource 100%
Fauna.Linq.QuerySource`1 93.7% 90.7%
Fauna.Linq.QuerySourceExtensions 25% 50%
Fauna.Linq.SubQuerySwitch 56.7% 19.4%
Fauna.Mapping.BaseFieldAttribute 100%
Fauna.Mapping.CollectionAttribute 100%
Fauna.Mapping.FieldAttribute 100%
Fauna.Mapping.FieldInfo 100% 91.6%
Fauna.Mapping.FieldName 100% 100%
Fauna.Mapping.IdAttribute 100% 50%
Fauna.Mapping.IgnoreAttribute 100%
Fauna.Mapping.MappingContext 100% 100%
Fauna.Mapping.MappingInfo 96.5% 100%
Fauna.Mapping.TsAttribute 100%
Fauna.Query 100%
Fauna.QueryArr 58.6% 50%
Fauna.QueryExpr 80% 50%
Fauna.QueryFragmentExtensions 0%
Fauna.QueryLiteral 86.1% 62.5%
Fauna.QueryObj 32.1% 0%
Fauna.QueryStringHandler 100% 100%
Fauna.QueryVal 79.5% 55.5%
Fauna.Serialization.BaseRefSerializer`1 81.8% 78.5%
Fauna.Serialization.BaseSerializer`1 27.7% 16.6%
Fauna.Serialization.BooleanSerializer 92.8% 83.3%
Fauna.Serialization.ByteSerializer 92.8% 83.3%
Fauna.Serialization.BytesSerializer 92.8% 83.3%
Fauna.Serialization.ClassSerializer`1 83.1% 80.9%
Fauna.Serialization.DateOnlySerializer 92.8% 83.3%
Fauna.Serialization.DateTimeOffsetSerializer 92.8% 83.3%
Fauna.Serialization.DateTimeSerializer 92.8% 83.3%
Fauna.Serialization.DictionarySerializer`1 82.3% 75%
Fauna.Serialization.DoubleSerializer 92.8% 83.3%
Fauna.Serialization.DynamicSerializer 73.2% 77.2%
Fauna.Serialization.EventSourceSerializer 87.5% 100%
Fauna.Serialization.FloatSerializer 92.8% 83.3%
Fauna.Serialization.IntSerializer 92.8% 83.3%
Fauna.Serialization.ListSerializer`1 82.9% 66.6%
Fauna.Serialization.LongSerializer 92.8% 83.3%
Fauna.Serialization.ModuleSerializer 28.5% 16.6%
Fauna.Serialization.NamedRefSerializer`1 90.9%
Fauna.Serialization.NullableSerializer`1 92.8% 100%
Fauna.Serialization.NullableStructSerializer`1 90.9% 100%
Fauna.Serialization.PageSerializer`1 89.5% 88.8%
Fauna.Serialization.QueryArrSerializer 0% 0%
Fauna.Serialization.QueryExprSerializer 77.7% 66.6%
Fauna.Serialization.QueryLiteralSerializer 55.5% 50%
Fauna.Serialization.QueryObjSerializer 69.2% 50%
Fauna.Serialization.QuerySerializer 60% 50%
Fauna.Serialization.QueryValSerializer 69.2% 50%
Fauna.Serialization.RefSerializer`1 90.9%
Fauna.Serialization.SByteSerializer 92.8% 83.3%
Fauna.Serialization.Serializer 90.4% 82.6%
Fauna.Serialization.ShortSerializer 92.8% 83.3%
Fauna.Serialization.StringSerializer 93.3% 87.5%
Fauna.Serialization.TokenTypeExtensions 35% 20.8%
Fauna.Serialization.UIntSerializer 92.8% 83.3%
Fauna.Serialization.UShortSerializer 92.8% 83.3%
Fauna.Serialization.Utf8FaunaReader 73.3% 78.8%
Fauna.Serialization.Utf8FaunaWriter 90.6%
Fauna.StreamOptions 54.5%
Fauna.Types.BaseRef`1 55%
Fauna.Types.BaseRefBuilder`1 95% 81.8%
Fauna.Types.Event`1 89.2% 75%
Fauna.Types.EventOptions 100%
Fauna.Types.EventSource 77.5% 55.5%
Fauna.Types.Module 52.6% 20%
Fauna.Types.NamedRef`1 60% 62.5%
Fauna.Types.Page`1 100%
Fauna.Types.Ref`1 60% 62.5%
Fauna.Util.DefaultExpressionSwitch`1 0%
Fauna.Util.Expressions 100% 100%
Fauna.Util.ExpressionSwitch`1 84.8% 75.5%
Fauna.Util.Extensions.PaginationExtensions 100% 100%
Fauna.Util.Extensions.TypeExtensions 93.3% 81.2%
Fauna.Util.Logger 78.7% 40%

Delta Summary

Generated on: 12/12/2024 - 22:37
Description Previous Current Delta
Coverage date: 12/12/2024 - 22:36 12/12/2024 - 22:37
Tag: main a6fd5bb
Line coverage: 81.5% 81.5% 0.0%
Covered lines: 3414 3414 0
Coverable lines: 4185 4185 0
Total lines: 18526 18525 -1
Branch coverage: 71.3% 71.3% 0.0%
Covered branches: 1089 1089 0
Total branches: 1527 1527 0
Method coverage: Feature is only available for sponsors

@adambollen adambollen merged commit 71af118 into main Dec 12, 2024
4 checks passed
@adambollen adambollen deleted the perf-test-fixes branch December 12, 2024 22:41
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants