Skip to content

Commit

Permalink
docs(amazonq): sequence diagram for performance telemetry #5743
Browse files Browse the repository at this point in the history
## Problem
It's hard to know what certain performance metrics are tracking

## Solution
Add documentation
  • Loading branch information
jpinkney-aws authored Oct 11, 2024
1 parent 65ba658 commit ef47989
Showing 1 changed file with 260 additions and 0 deletions.
260 changes: 260 additions & 0 deletions docs/telemetry-perf.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,260 @@
# Telemetry Performance Metrics

Visual representations of performance telemetry metrics

## Amazon Q Inline

### codewhispererFirstCompletionLatency

How long it took to receive the first suggestion after we started calling the getRecommendations API

```mermaid
sequenceDiagram
participant User
participant invoke as Inline invoked
participant rService as Recommendation Service
participant rHandler as Recommendation Handler
participant backend as CWSPR backend
participant sdk as Create CWSPR SDK
participant token as Toolkit auth
User->>invoke: Finished typing
invoke->>rService: calls
rService->>rHandler: calls
rHandler->>sdk: calls
sdk->>token: Start getting bearer token
token->>sdk: Finished getting bearer token
sdk->>rHandler: Return client
note over rHandler, backend: codewhispererFirstCompletionLatency
rect rgb(230, 230, 230, 0.5)
loop Get paginated recommendations
rHandler->>backend: calls
end
backend->>rHandler: first response received
end
rHandler->>User: show results
backend->>rHandler: all the other responses
rHandler->>User: add to already shown results
```

### codewhispererEndToEndLatency

How long it took from when we started calling the getRecommendations API to when the first suggestion was shown

```mermaid
sequenceDiagram
participant User
participant invoke as Inline invoked
participant rService as Recommendation Service
participant rHandler as Recommendation Handler
participant backend as CWSPR backend
participant sdk as Create CWSPR SDK
participant token as Toolkit auth
User->>invoke: Finished typing
invoke->>rService: calls
rService->>rHandler: calls
rHandler->>sdk: calls
sdk->>token: Start getting bearer token
token->>sdk: Finished getting bearer token
sdk->>rHandler: Return client
note over User, backend: codewhispererEndToEndLatency
rect rgb(230, 230, 230, 0.5)
loop Get paginated recommendations
rHandler->>backend: calls
end
backend->>rHandler: first response received
rHandler->>User: show results
end
backend->>rHandler: all the other responses
rHandler->>User: add to already shown results
```

### codewhispererAllCompletionsLatency

How long it took to complete all paginated calls

```mermaid
sequenceDiagram
participant User
participant invoke as Inline invoked
participant rService as Recommendation Service
participant rHandler as Recommendation Handler
participant backend as CWSPR backend
participant sdk as Create CWSPR SDK
participant token as Toolkit auth
User->>invoke: Finished typing
invoke->>rService: calls
rService->>rHandler: calls
rHandler->>sdk: calls
sdk->>token: Start getting bearer token
token->>sdk: Finished getting bearer token
sdk->>rHandler: Return client
note over User, backend: codewhispererAllCompletionsLatency
rect rgb(230, 230, 230, 0.5)
loop Get paginated recommendations
rHandler->>backend: calls
end
backend->>rHandler: first response received
rHandler->>User: show results
backend->>rHandler: all the other responses
end
rHandler->>User: add to already shown results
```

### codewhispererPostprocessingLatency

How long it took to display the first suggestion after it received the first response from the API

```mermaid
sequenceDiagram
participant User
participant invoke as Inline invoked
participant rService as Recommendation Service
participant rHandler as Recommendation Handler
participant backend as CWSPR backend
participant sdk as Create CWSPR SDK
participant token as Toolkit auth
User->>invoke: Finished typing
invoke->>rService: calls
rService->>rHandler: calls
rHandler->>sdk: calls
sdk->>token: Start getting bearer token
token->>sdk: Finished getting bearer token
sdk->>rHandler: Return client
loop Get paginated recommendations
rHandler->>backend: calls
end
note over User, backend: codewhispererPostprocessingLatency
rect rgb(230, 230, 230, 0.5)
backend->>rHandler: first response received
rHandler->>User: show results
end
backend->>rHandler: all the other responses
rHandler->>User: add to already shown results
```

### codewhispererCredentialFetchingLatency

How long it took to get the bearer token

```mermaid
sequenceDiagram
participant User
participant invoke as Inline invoked
participant rService as Recommendation Service
participant rHandler as Recommendation Handler
participant backend as CWSPR backend
participant sdk as Create CWSPR SDK
participant token as Toolkit auth
User->>invoke: Finished typing
invoke->>rService: calls
rService->>rHandler: calls
rHandler->>sdk: calls
note over sdk, token: codewhispererCredentialFetchingLatency
rect rgb(230, 230, 230, 0.5)
sdk->>token: Start getting bearer token
token->>sdk: Finished getting bearer token
end
sdk->>rHandler: Return client
loop Get paginated recommendations
rHandler->>backend: calls
end
backend->>rHandler: first response received
rHandler->>User: show results
backend->>rHandler: all the other responses
rHandler->>User: add to already shown results
```

### codewhispererPreprocessingLatency

How long it took to create the client and get ready to start sending getRecommendation API calls

```mermaid
sequenceDiagram
participant User
participant invoke as Inline invoked
participant rService as Recommendation Service
participant rHandler as Recommendation Handler
participant backend as CWSPR backend
participant sdk as Create CWSPR SDK
participant token as Toolkit auth
User->>invoke: Finished typing
invoke->>rService: calls
rService->>rHandler: calls
rHandler->>sdk: calls
note over rHandler, token: codewhispererPreprocessingLatency
rect rgb(230, 230, 230, 0.5)
sdk->>token: Start getting bearer token
token->>sdk: Finished getting bearer token
sdk->>rHandler: Return client
end
loop Get paginated recommendations
rHandler->>backend: calls
end
backend->>rHandler: first response received
rHandler->>User: show results
backend->>rHandler: all the other responses
rHandler->>User: add to already shown results
```

### codewhisperer_perceivedLatency duration

How long it took from when the user stopped pressing a key to when they were shown a response

```mermaid
sequenceDiagram
participant User
participant invoke as Inline invoked
participant rService as Recommendation Service
participant rHandler as Recommendation Handler
participant backend as CWSPR backend
participant sdk as Create CWSPR SDK
participant token as Toolkit auth
User->>invoke: Finished typing
note over User, token: codewhisperer_perceivedLatency duration
rect rgb(230, 230, 230, 0.5)
invoke->>rService: calls
rService->>rHandler: calls
rHandler->>sdk: calls
sdk->>token: Start getting bearer token
token->>sdk: Finished getting bearer token
sdk->>rHandler: Return client
loop Get paginated recommendations
rHandler->>backend: calls
end
backend->>rHandler: first response received
rHandler->>User: show results
backend->>rHandler: all the other responses
rHandler->>User: add to already shown results
end
```

0 comments on commit ef47989

Please sign in to comment.