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

[PREVIEW] AI Integration: Adds open telemetry support for most of the Operations #3277

Merged
merged 37 commits into from
Jul 6, 2022

Conversation

sourabh1007
Copy link
Contributor

@sourabh1007 sourabh1007 commented Jun 20, 2022

Description

As part of this PR

1. Open Telemetry has been enabled for following operations:

Database Operations

DatabaseInlineCore

CreateContainerAsync (3 Overloads)
CreateContainerIfNotExistsAsync (3 Overloads)
CreateContainerStreamAsync (2 Overloads)
DeleteAsync
DeleteStreamAsync
ReadAsync
ReadStreamAsync
ReadThroughputAsync--> need to revisit as it returns only int value (Not changing as part of this PR)
ReadThroughputAsync
ReplaceThroughputAsync
ReplaceThroughputAsync
UpsertUserAsync
CreateClientEncryptionKeyAsync
CreateUserAsync

CosmosClient

CreateDatabaseAsync(2 Overrides)
CreateDatabaseStreamAsync
ReadAccountAsync --> need to revisit as it returns Account Properties Object instead of response (NOT changing as part of this PR)
CreateDatabaseIfNotExistsAsync

Container Operations (ContainerInlineCore)

ReadContainerAsync
ReadContainerStreamAsync
ReplaceContainerAsync
ReplaceContainerStreamAsync
DeleteContainerAsync
DeleteContainerStreamAsync
ReadThroughputAsync --> need to revisit as it returns only int value (Not changing as part of this PR)
ReadThroughputAsync (overload of above)
ReplaceThroughputAsync
ReplaceThroughputAsync
ReadThroughputIfExistsAsync
ReplaceThroughputIfExistsAsync
ReadManyItemsStreamAsync
ReadManyItemsAsync
GetFeedRangesAsync --> need to revisit as it returns only List of feedranges value (Not changing as part of this PR)
GetPartitionKeyRangesAsync --> need to revisit as it returns only List of feedranges value (Not changing as part of this PR)

Item Operations (Point/Stream) (ContainerInlineCore)

CreateItemStreamAsync
CreateItemAsync
ReadItemStreamAsync
ReadItemAsync
UpsertItemStreamAsync
UpsertItemAsync
ReplaceItemStreamAsync
ReplaceItemAsync
DeleteItemStreamAsync
DeleteItemAsync
PatchItemStreamAsync (2 Overloads)
PatchItemAsync
DeleteAllItemsByPartitionKeyStreamAsync

ConflictInlineCore
DeleteAsync
ReadCurrentAsync

UserInlineCore.cs
CreatePermissionAsync
ReadAsync
ReplaceAsync
DeleteAsync
UpsertPermissionAsync

PermissionInlineCore
ReadAsync
ReplaceAsync
DeleteAsync

ChnageFeedIteratorCore
ReadNextAsync

ChangeFeedPartitionKeyResultSetIteratorCore
ReadNextAsync

ChangeFeedEstimatorIterator
ReadNextAsync

BatchCore
ExecuteAsync --> need to revisit as a separate PR. Right now not collecting request information and Response size.

ClientEncryptionKeyInlineCore
ReadAsync
ReplaceAsync

FeedIteratorInlineCore
ReadNextAsync

FeedIteratorInlineCore<T>
ReadNextAsync

ScriptsInlineCore
CreateStoredProcedureAsync
ReadStoredProcedureAsync
ReplaceStoredProcedureAsync
DeleteStoredProcedureAsync
ExecuteStoredProcedureAsync
ExecuteStoredProcedureStreamAsync
ExecuteStoredProcedureStreamAsync
CreateTriggerAsync
ReadTriggerAsync
ReplaceTriggerAsync
DeleteTriggerAsync
CreateUserDefinedFunctionAsync
ReadUserDefinedFunctionAsync
ReplaceUserDefinedFunctionAsync
DeleteUserDefinedFunctionAsync

2. An internal flag has been added to enable open telemetry feature in Tests

3. Added baseline tests for open telemetry

Follow up issues: #3317
#3323
#3324
#3325
#3326

Type of change

  • [] New feature (non-breaking change which adds functionality)

@sourabh1007 sourabh1007 changed the title [PREVIEW] AI Integration: Adds Open telemetry Support for Point Operations [PREVIEW] AI Integration: Adds open telemetry support for Container/Database/Point Operations Jun 20, 2022
@sourabh1007 sourabh1007 changed the title [PREVIEW] AI Integration: Adds open telemetry support for Container/Database/Point Operations [Don't Review] [PREVIEW] AI Integration: Adds open telemetry support for Container/Database/Point Operations Jun 20, 2022
@sourabh1007 sourabh1007 changed the title [Don't Review] [PREVIEW] AI Integration: Adds open telemetry support for Container/Database/Point Operations [Don't Review] [PREVIEW] AI Integration: Adds open telemetry support for Container/Database/Point/Stream Operations Jun 22, 2022
@sourabh1007 sourabh1007 changed the title [Don't Review] [PREVIEW] AI Integration: Adds open telemetry support for Container/Database/Point/Stream Operations [PREVIEW] AI Integration: Adds open telemetry support for Container/Database/Point/Stream Operations Jun 22, 2022
@sourabh1007 sourabh1007 changed the title [PREVIEW] AI Integration: Adds open telemetry support for Container/Database/Point/Stream Operations [PREVIEW] AI Integration: Adds open telemetry support for User/Permission/Container/Database/Point Item/Stream Item Operations Jun 24, 2022
@sourabh1007 sourabh1007 changed the title [PREVIEW] AI Integration: Adds open telemetry support for User/Permission/Container/Database/Point Item/Stream Item Operations [PREVIEW] AI Integration: Adds open telemetry support for most of the Operations Jun 29, 2022
Copy link
Member

@FabianMeiswinkel FabianMeiswinkel left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks pretty good already - just left a few comments.

@ealsur ealsur merged commit 66be1a3 into master Jul 6, 2022
@ealsur ealsur deleted the users/sourabhjain/aipointoperations branch July 6, 2022 22:38
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants