Inconsistency between time taken for write to db node to complete and the timing shown in the 'data-store-details.csv' log

Hello Everyone,

I have a query regarding the time of Write to Datastore operation reported in the log file "data_store_details.csv"
This log file breaks the total time for the write to DB query to execute in "Mean Prepare Time", "Mean Execute Time" and "Mean Transform time". Now, for one example - on one environment I am working on - the durations reported for these are 5ms, 16ms and 5ms respectively - for a total of 26ms of Mean Total time.

Now, I observed the time taken for the "Write to Datastore" node to complete in the process history of the process instance. It shows the time as 1.04 seconds. This indicates the Write to datastore node took 1.04 seconds to complete. However, from the log file - I see that the actual database operation took a total of 26ms.

So, why is there some...

OriginalPostID-265602

  Discussion posts and replies are publicly visible

Parents
  • 0
    Certified Lead Developer
    @chetany i think process history holds overall time taken for this instance to get complete, rather than a particular node execution time, please correct me if i am wrong.

    Also can you please let us know, how exactly are trying to capture the start and time and the difference between start and end time after the completion of Write to Data Store Node execution.

    Yes, i agree with you that, Appian has to follow lot many set of steps before performing CRUD operation on DB. As Appian internally uses ORM (JPA, Hibernate) and ORM internally uses JDBC, so as per the JDBC internal mechanism, it has to follow various steps in order to perform any Operation on Relational Tabular Data store, these are:

    1. Obtain connection to DB
    2. Get a JDBC Statement
    3. Execute the Statement
    4. Close the Connection

    Now when we talk about the ORM's such as (Hibernate, JPA), it follows following steps:
    1. Create/Load the configuration
    2. Build the Sessionfactory
    3. Build the Session
    4. Access the Service (like CRUD operation)
    5. Close the Session

    Also as you have mention, when the network is slow or the database latency is more, we can expect to see more time lag
Reply
  • 0
    Certified Lead Developer
    @chetany i think process history holds overall time taken for this instance to get complete, rather than a particular node execution time, please correct me if i am wrong.

    Also can you please let us know, how exactly are trying to capture the start and time and the difference between start and end time after the completion of Write to Data Store Node execution.

    Yes, i agree with you that, Appian has to follow lot many set of steps before performing CRUD operation on DB. As Appian internally uses ORM (JPA, Hibernate) and ORM internally uses JDBC, so as per the JDBC internal mechanism, it has to follow various steps in order to perform any Operation on Relational Tabular Data store, these are:

    1. Obtain connection to DB
    2. Get a JDBC Statement
    3. Execute the Statement
    4. Close the Connection

    Now when we talk about the ORM's such as (Hibernate, JPA), it follows following steps:
    1. Create/Load the configuration
    2. Build the Sessionfactory
    3. Build the Session
    4. Access the Service (like CRUD operation)
    5. Close the Session

    Also as you have mention, when the network is slow or the database latency is more, we can expect to see more time lag
Children
No Data