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

Metrics unloaded when running longevity-load-rs #70

Open
1 task
timofeevmd opened this issue Jun 8, 2023 · 3 comments
Open
1 task

Metrics unloaded when running longevity-load-rs #70

timofeevmd opened this issue Jun 8, 2023 · 3 comments
Assignees
Labels

Comments

@timofeevmd
Copy link

timofeevmd commented Jun 8, 2023

Below is a list of metrics that you need to get from each http request as part of a load test. Based on these metrics, we will be able to conduct deeper analytics on the behavior of Iroha2 under load

  • Sample Name: The name or description of the HTTP request.
  • Sample Time: The total time taken to execute the request in milliseconds.
  • Latency: The time taken from sending the request to receiving the first byte of the response from the server in milliseconds.
  • Connect Time: The time taken to establish the connection with the server in milliseconds.
  • Sent Bytes: The total number of bytes sent in the request.
  • Received Bytes: The total number of bytes received in the response.
  • Idle Time: The time JMeter waits between requests in milliseconds.
  • Connect: The time taken to establish the connection with the server in milliseconds.
  • Latency + Connect: The sum of latency time and connection time in milliseconds.
  • Thread Name: The name of the thread that executed the request.
  • Response Code: The HTTP status code returned by the server in response to the request.
  • Response Message: The message or description of the HTTP status code.
  • Response Time: The total time taken to execute the request, including the time spent waiting for the response from the server in milliseconds.
  • Error Count: The number of errors that occurred during the execution of the request.
  • Bytes: The total number of bytes sent and received in the request and response.
  • Active Threads: The number of active threads during the execution of the request.
  • Sample Count: The total number of samples executed for the given HTTP request.
  • Error Message: The error message if an error occurred during the execution of the request.
  • Thread Group Name: The name of the thread group to which the executing thread belongs. (subject to implementation through multithreading)
  • Response Assertion Status: The status of the response assertion, indicating whether the specified conditions or content were met.

Tasks

Preview Give feedback
  1. iroha2
    pesterev timofeevmd
@pesterev
Copy link

pesterev commented Jun 8, 2023

Every Operation is not only HTTP Request and HTTP Response. We should also keep WebSocket connection to receive a confirmation or rejection message.

  1. Send a transaction - HTTP Request
  2. Get HTTP Response which means a transaction has been sent.
  3. Listen to WebSocket connection
  4. Filter events to get our confirmation or rejection.

Your metrics format should take into account this flow.

@timofeevmd
Copy link
Author

timofeevmd commented Jun 8, 2023

In this case, I propose to collect. If there is an opinion that there are extra metrics or I did not take into account important ones, please correct me

  • HTTP metrics (technical) - error logging, script management using asserts:

    • Thread Group Name: The name of the thread group to which the executing thread belongs. (subject to implementation through multithreading)
    • Sample Name: The name or description of the HTTP request.
    • Sample Time: The total time taken to execute the request in milliseconds.
    • Latency + Connect: The sum of latency time and connection time in milliseconds.
    • Response Code: The HTTP status code returned by the server in response to the request.
    • Response Message: The message or description of the HTTP status code.
    • Response Time: The total time taken to execute the request, including the time spent waiting for the response from the server in milliseconds.
    • Error Count: The number of errors that occurred during the execution of the request.
      Error Message: The error message if an error occurred during the execution of the request.
  • WS metrics (business) - on their basis we will evaluate the work of Iroha2

    • Response Time: The total time it took to complete a WebSocket transaction, including the time it took to wait for a response from the server.
    • Latency: The time elapsed from sending a request to receiving the first byte of the response from the WebSocket server.
    • Connect Time: The time taken to establish a connection with the WebSocket server.
    • Sent Bytes: The total number of bytes sent within the WebSocket transaction.
    • Received Bytes: The total number of bytes received in response to a WebSocket transaction.
    • Error Count: The number of errors that occurred while executing the WebSocket transaction.
    • Messages Sent: The number of messages sent within the WebSocket transaction.
    • Messages Received: The number of messages received within the WebSocket transaction.
    • Active Threads Over Time: Graph showing the number of active WebSocket threads during the duration of a transaction.
    • Bytes Throughput Over Time: A graph that displays the throughput (number of bytes) during the execution of a WebSocket transaction.
    • Response Codes: Statistics of the HTTP status codes returned by the WebSocket server in response to transaction requests.
      Response Messages: Statistics of messages or HTTP status code descriptions returned by the WebSocket server in response to transaction requests.

@timofeevmd
Copy link
Author

Operation Name: The name of the thread group to which the executing thread belongs. (subject to implementation through multithreading)
Sample Time: The total time taken to execute the request in milliseconds.

Response Time: The total time it took to complete a WebSocket transaction, including the time it took to wait for a response from the server.
Latency: The time elapsed from sending a request to receiving the first byte of the response from the WebSocket server.
Connect Time: The time taken to establish a connection with the WebSocket server.
Sent Bytes: The total number of bytes sent within the WebSocket transaction.
Received Bytes: The total number of bytes received in response to a WebSocket transaction.
Error Count: The number of errors that occurred while executing the WebSocket transaction.
Error Message: The error message if an error occurred during the execution of the request. (error client library)
Transaction Send: The number of messages sent within the WebSocket transaction.
Transaction Confirmed
Transaction Rejected
Messages Received: The number of messages received within the WebSocket transaction.
Active Operation Over Time: Graph showing the number of active WebSocket threads during the duration of a transaction.
Response Messages: Statistics of messages or HTTP status code descriptions returned by the WebSocket server in response to transaction requests.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

3 participants