# Transaction Audit Trail

The transaction audit trail is a series of logs that can be used to follow a transaction from start to finish. Each log is specific to a step in the transaction process. They are found at the entry and exit of each service's function.

Included in these logs are what's happening, the transaction id, the sub transaction id, the primary endpoint id, the primary content ids, the primary Motation ids.

The logs are listed in approximate order. Due to the timing of writing the logs and microservice architecture, there could be a few in reverse order from this list.

## Transaction Setup

All transactions will have these transaction setup logs.

* Created Transaction
  * Service: Sync-Manager
  * Type: Entry
  * Purpose: Tells when a transaction is started.
  * Note: As soon as the transaction id has been created. Not as soon as the call is made.
* Post Notification
  * Service: Note-Man
  * Type: Entry
  * Purpose: Note-Man received a request to save a notification.
  * Note This message is sent at the beginning and end of the transaction.
* Finished Posting Notification
  * Service: Note-Man
  * Type: Exit
  * Purpose: Note-Man handled the request to save a notification.
  * Note This message is sent at the beginning and end of the transaction.
* Handling Transaction Type Payload
  * Service: Content-Diffuser
  * Type: Entry
  * Purpose: Diffuser received a transaction type payload to save
* Finished Handling Transaction Type Payload
  * Service: Content-Diffuser
  * Type: Entry
  * Purpose: Diffuser saved the transaction type
* Sent Job Depot Seek Request
  * Service: Sync-Manager
  * Type: Exit
  * Purpose: Tells when the Sync-Manager request job details from the Job-Depot.
* Diff report 1-2 (diff report status)
* Received Job Depot Seek Request
  * Service: Job-Depot
  * Type: Entry
  * Purpose: Job-Depot received a request to get job details for a transaction.
* Sent Job Depot Details
  * Service: Job-Depot
  * Type: Exit
  * Purpose: Job-Depot sent a payload to sync manager with job details for a transaction.
* Received Job Depot Details
  * Service: Sync-Manager
  * Type: Entry
  * Purpose: Sync-Manager received a request with the job details from the job depot for a sync.
* Endpoint Depot Request
  * Service: Sync-Manager
  * Type: Exit
  * Purpose: Sync-Manger sent a request to the Endpoint-Depot to get endpoint details.
* Retrieve Endpoints
  * Service: Endpoint-Depot
  * Type: Entry
  * Purpose: Endpoint-Depot received a request to get endpoint details.
* Sent Endpoints
  * Service: Endpoint-Depot
  * Type: Exit
  * Purpose: Endpoint-Depot sent a payload to sync manager with endpoint details.
* Received Endpoint Depot Details
  * Service: Sync-Manager
  * Type: Entry
  * Purpose: Sync-Manager received a request with the endpoint details from the endpoint depot for a sync. It will now prepare to send a job detail data to content diffuser.
* Diffuser Job Details Request
  * Service: Sync-Manager
  * Type: Exit
  * Purpose: Sync-Manager sent a payload to content diffuser with job details.
* Save Job Details
  * Service: Content-Diffuser
  * Type: Entry
  * Purpose: Diffuser received payload with job details.
* Sent Job Details Saved
  * Service: Content-Diffuser
  * Type: Message
  * Purpose: Diffuser saved the job details and is sending confirmation to the sync manager.
* Finished Saving Job Details
  * Service: Content-Diffuser
  * Type: Exit
  * Purpose: Diffuser finished handling payload with job details.
* Diffuser Job Details Saved
  * Service: Sync-Manager
  * Type: Entry
  * Purpose: Sync-Manager received a request signifying diffuser saved job details and can continue the sync.
* Request Taxi Immutable Ids
  * Service: Sync-Manager
  * Type: Process
  * Purpose: Sync-Manager sent a request to the taxis to retrieve immutable ids.
  * Note: This log will be written for each endpoint in the sync.
* Sent All Taxi Immutable Ids Requests
  * Service: Sync-Manager
  * Type: Exit
  * Purpose: Sync-Manager sent all requests to the taxis to retrieve immutable ids.

## Pickup

Transactions that require picking up content will have these pickup logs.

* Adapter Read Get Content Local Ids Request
  * Service: Adapter-Read-Common
  * Type: Entry
  * Purpose: Adapter read received a request to get content local ids
* Sent Taxi Request For Content Local Ids
  * Service: Adapter-Read-Common
  * Type: Message
  * Purpose: Adapter read sent a request with content local ids to pickup taxi.
  * Expectation: This message or the next will be written but not both.
* Sent Taxi Request Without Content Local Ids
  * Service: Adapter-Read-Common
  * Type: Message
  * Purpose: Adapter read sent a request without content local ids to pickup taxi.
  * Expectation: This message or the previous will be written but not both.
* Adapter Read Got Content Local Ids
  * Service: Adapter-Read-Common
  * Type: Exit
  * Purpose: Adapter read picked up local ids and sent to taxi.
* Finished Handling Adapter Read Get Content Local Ids Request
  * Service: Adapter-Read-Common
  * Type: Exit
  * Purpose: Adapter read finished handling request to get content local ids.
* Adapter Read Get Content Dependencies Local Ids Request
  * Service: Adapter-Read-Common
  * Type: Entry
  * Purpose: Adapter read received a request to get content dependency local ids.
* Sent Taxi Request For Content Dependencies Local Ids
  * Service: Adapter-Read-Common
  * Type: Message
  * Purpose: Adapter sent a request with content dependency local ids
  * Expectation: This message or the next will be written but not both.
* Sent Taxi Request Without Content Dependencies Local Ids
  * Service: Adapter-Read-Common
  * Type: Message
  * Purpose: Adapter sent a request without content dependency local ids
  * Expectation: This message or the previous will be written but not both.
* Adapter Read Got Content Dependencies Local Ids
  * Service: Adapter-Read-Common
  * Type: Exit
  * Purpose: Adapter read picked up dependency local ids and sent to taxi.
* Finished Handling Adapter Read Get Content Dependencies Local Ids Request
  * Service: Adapter-Read-Common
  * Type: Exit
  * Purpose: Adapter read finished handling request to get content dependency local ids.
* Adapter Write Get Content Dependencies Local Ids Request
  * Service: Adapter-Write-Common
  * Type: Entry
  * Purpose: Adapter write received a request to get content dependency local ids.
  * Note: This is synchronous to the `Adapter` Read `Get Content Dependencies Local Ids Request`
* Sent Destination Taxi Request For Content Dependencies Local Ids
  * Service: Adapter-Write-Common
  * Type: Message
  * Purpose: Adapter sent a request with content dependency local ids
  * Note: This message or the next will be written but not both. This is synchronous to the `Sent Taxi Request For Content Dependencies Local Ids`
* Sent Destination Taxi Request Without Content Dependencies Local Ids
  * Service: Adapter-Write-Common
  * Type: Message
  * Purpose: Adapter sent a request without content dependency local ids
  * Note: This message or the previous will be written but not both. This is synchronous to the `Sent Taxi Request Without Content Dependencies Local Ids`
* Adapter Write Got Content Dependencies Local Ids
  * Service: Adapter-Write-Common
  * Type: Exit
  * Purpose: Adapter write picked up dependency local ids and sent to taxi.
  * Note: This is synchronous to the `Adapter Read Got Content Dependencies Local Ids`
* Finished Handling Adapter Write Get Content Dependencies Local Ids Request
  * Service: Adapter-Write-Common
  * Type: Exit
  * Purpose: Adapter write finished handling request to get content dependency local ids.
  * Note: This is synchronous to the `Finished Handling Adapter Read Get Content Dependencies Local Ids Request`
* Adapter Read Get System Object Local Ids Request
  * Service: Adapter-Read-Common
  * Type: Entry
  * Purpose: Adapter read received a request to get system object local ids.
* Sent Taxi Request For System Object Local Ids
  * Service: Adapter-Read-Common
  * Type: Message
  * Purpose: Adapter sent a request with system object local ids
  * Expectation: This message or the next will be written but not both.
* Sent Taxi Request Without System Object Local Ids
  * Service: Adapter-Read-Common
  * Type: Message
  * Purpose: Adapter sent a request without system object local ids
  * Expectation: This message or the previous will be written but not both.
* Adapter Read Got System Object Local Ids
  * Service: Adapter-Read-Common
  * Type: Exit
  * Purpose: Adapter read picked up system object local ids and sent to taxi.
* Finished Handling Adapter Read Get System Object Local Ids Request
  * Service: Adapter-Read-Common
  * Type: Exit
  * Purpose: Adapter read finished handling request to get system object local ids.
* Handle Request To Get Source Local Ids
  * Service: Taxi-Pickup
  * Type: Entry
  * Purpose: Taxi-Pickup received a request to get source local ids.
* Handle Request To Get Destination Local Ids
  * Service: Taxi-Dropoff
  * Type: Entry
  * Purpose: Taxi-Dropoff received a request to get destination local ids.
* Sent Request To get Local Ids
  * Service: Taxi-Pickup/Taxi-Dropoff
  * Type: Exit
  * Purpose: Taxi sent request to adapter to get local ids.
  * Note: This same log is written by both the taxi pickup and taxi dropoff.
* Diffuse Source Content Payload
  * Service: Taxi-Pickup
  * Type: Entry
  * Purpose: Taxi pickup received a REST request with local ids to send to content diffuser.
* Decode Diffuse Source Content Payload
  * Service: Taxi-Pickup
  * Type: Process
  * Purpose: Taxi pickup decoded the payload structure.
* Diffuse Destination Content Payload
  * Service: Taxi-Dropoff
  * Type: Entry
  * Purpose: Taxi dropoff received a REST request with local ids to send to content diffuser.
* Decode Diffuse Destination Content Payload
  * Service: Taxi-Dropoff
  * Type: Process
  * Purpose: Taxi dropoff decoded the payload structure.
* Received Source Local Ids
  * Service: Taxi-Pickup
  * Type: Entry
  * Purpose: Taxi-Pickup received local ids to send to the content diffuser.
* Received Destination Local Ids
  * Service: Taxi-Dropoff
  * Type: Entry
  * Purpose: Taxi-Dropoff received local ids to send to the content diffuser.
* Sent Local Ids
  * Service: Taxi-Pickup/Taxi-Dropoff
  * Type: Message
  * Purpose: Taxi sent message to syncman and diffuser containing local ids.
* Finished Diffuse Source Content Request
  * Service: Taxi-Pickup
  * Type: Exit
  * Purpose: Taxi-Pickup finished handling payload with local ids to send to syncman and diffuser.
* Finished Diffuse Destination Content Request
  * Service: Taxi-Dropoff
  * Type: Exit
  * Purpose: Taxi-Dropoff finished handling payload with local ids to send to syncman and diffuser.
* Received Immutable Ids
  * Service: Sync-Manager
  * Type: Entry
  * Purpose: Sync-Manager received immutable ids from an endpoint.
  * Note: This log will be written for each endpoint in the sync.
* Send Diffuser Immutable Ids
  * Service: Sync-Manager
  * Type: Exit
  * Purpose: Sync-Manager sent immutable ids to the content diffuser.
  * Note: this log will be written for each endpoint in the sync.
* Diffuser Taxi Request
  * Service: Sync-Manager
  * Type: Entry
  * Purpose: Sync-Manager received a request from content diffuser to send data to a taxi.
  * Note: this log will be written multiple times for each content.
* Send Content Pickup Request
  * Service: Sync-Manager
  * Type: Process
  * Purpose: Sync-Manager is sending a content pickup request to the pickup taxi.
  * Note: This log will be written for each content.
* diffuser 4-5 (endpoint processor)
* diff report 3-6 (endpoint message)
* Request Immutable Ids
  * Service: Sync-Manager
  * Type: Process
  * Purpose: Sync-Manager is sending a request for immutable ids to the taxi.
  * Note: This log will be written for each endpoint in the sync.
* Handle Immutable Ids Payload
  * Service: Content-Diffuser
  * Type: Entry
  * Purpose: Diffuser received a payload with local immutable ids.
* diffuser 6-8 (motation checker)
* Taxi Pickup Motation
  * Service: Content-Diffuser
  * Type: Message
  * Purpose: Diffuser sent a request for taxis/transformers to pickup Motation.
* Received Request For Raw Data
  * Service: Taxi-Pickup
  * Type: Entry
  * Purpose: Taxi-Pickup received a request to pickup raw data
  * Note: This log will be written for each Motation object, content, dependency, and system object in the sync.
* Send Request For Motation Object Raw Data
  * Service: Taxi-Pickup
  * Type: Message
  * Purpose: Taxi-Pickup sent a request to adapter read to pickup Motation object raw data.
  * Note: This log will be written for each Motation object in the sync.
* Send Request For Content Raw Data
  * Service: Taxi-Pickup
  * Type: Message
  * Purpose: Taxi-Pickup sent a request to adapter read to pickup content or dependency raw data.
  * Note: This log will be written for each content and dependency in the sync.
* Send Request For System Object Raw Data
  * Service: Taxi-Pickup
  * Type: Message
  * Purpose: Taxi-Pickup sent a request to adapter read to pickup system object raw data.
  * Expectation: Only when System Object data is picked up.
  * Note: This log will be written for each system object in the sync.
* Received Raw Data Response
  * Service: Taxi-Pickup
  * Type: Message
  * Purpose: Taxi-Pickup received a response from adapter read for pickup raw data request.
  * Note: This log will be written for each Motation object, content, dependency, and system object in the sync.
* Sent System Object Raw Data
  * Service: Taxi-Pickup
  * Type: Message
  * Purpose: Taxi-Pickup sent a payload with system object raw data.
  * Expectation: Only when System Object data is picked up.
  * Note: This log will be written for each system object in the sync.
* Sent Raw Data
  * Service: Taxi-Pickup
  * Type: Message
  * Purpose: Taxi-Pickup sent a request to adapter read to pickup content or dependency raw data.
  * Note: This log will be written for each Motation object, content, dependency in the sync.
* Finished handling raw data request
  * Service: Taxi-Pickup
  * Type: Exit
  * Purpose: Taxi-Pickup finished handling request to pickup raw data.
  * Note: This log will be written for each Motation object, content, dependency, and system object in the sync.
* Adapter Read Get Raw Data Request
  * Service: Adapter-Read-Common
  * Type: Entry
  * Purpose: Adapter read received a request to pick up raw data.
* Adapter Read Get Raw Data
  * Service: Adapter-Read-Common
  * Type: Process
  * Purpose: Adapter read received a request to pick up raw data and decoded the payload.
* Finished Adapter Read Get Raw Data
  * Service: Adapter-Read-Common
  * Type: Exit
  * Purpose: Adapter read returned raw data.
* Adapter Read Serve File
  * Service: Adapter-Read-Common
  * Type: Entry
  * Purpose: Adapter read received a request to serve a file.
  * Expectation: Only when content includes binary data.
  * Note: This log will be written every time a binary needs to be synced.
* Finished Adapter Read Serve File
  * Service: Adapter-Read-Common
  * Type: Exit
  * Purpose: Adapter read finished function to serve a file.
  * Expectation: Only when content includes binary data.
  * Note: This log will be written every time a binary needs to be synced.
* Content Ready for Transformation
  * Service: Sync-Manager
  * Type: Entry
  * Purpose: Sync-Manager received a content that is ready to be sent to the transformer in.
  * Note: This log will be written for each content in the sync that needs to be transformed.
* Handle Transform Request
  * Service: Transformer-In-Common
  * Type: Entry
  * Purpose: Transformer in received a request to transformed content.
  * Note: This log will be written for each content in the sync that needs to be transformed.
* Transform {raw data type}
  * Service: Transformer-In-Common
  * Type: Process
  * Purpose: Transformer in is about to send a request to transform {raw data type} for a content to the binary transformer.
  * raw data types:
    * Transform Content
    * Transform Category
    * Transform Domain
    * Transform Definition
    * Transform Folder
    * Transform Language
    * Transform Relationship
    * Transform Tag
  * Expectation: `Transform Content` and `Transform Definition` will always appear. Others will only appear when that raw data type is picked up.
  * Note: This log will be written for each content with a {raw data type} in the sync that needs to be transformed.
* Save Content Motation
  * Service: Transformer-In-Common
  * Type: Process
  * Purpose: Transformer in is about to save content Motation to diesel.
  * Note: This log will be written for each content in the sync that needs to be transformed.
* Finished Handling Transform Request
  * Service: Transformer-In-Common
  * Type: Exit
  * Purpose: Transformer in finished handling transform content request and sent a message continuing the process for that content.
  * Note: This log will be written for each content in the sync that needs to be transformed.
* Received Transformed Motation
  * Service: Taxi-Pickup
  * Type: Entry
  * Purpose: Taxi-Pickup received a request with transformed Motation.
* Sent Motation Ready Payload
  * Service: Taxi-Pickup
  * Type: Message/Exit
  * Purpose: Taxi-Pickup sent a message with transformed Motation to continue sync process.
* Sent Transformation Payload
  * Service: Sync-Manager
  * Type: Exit
  * Purpose: Sync-Manager sent a payload to the transformer in to transform the content.
  * Note: This log will be written for each content in the sync that needs to be transformed.
* Content Transformed
  * Service: Sync-Manager
  * Type: Entry
  * Purpose: Sync-Manager received a payload for a content that has been transformed into Motation.
  * Note: This log will be written for each content in the sync that needs to be transformed.
* Sent Pickup Taxi Motation Ready
  * Service: Sync-Manager
  * Type: Exit
  * Purpose: Sync-Manager sent a payload to the pickup taxi with a content that has been transformed into Motation.
  * Note: This log will be written for each content in the sync that needs to be transformed.
* Pickup Taxi Acknowledged Motation Ready
  * Service: Sync-Manager
  * Type: Entry
  * Purpose: Sync-Manager received a payload for a content from pickup taxi confirming Motation is ready.
  * Note: This log will be written for each content in the sync that needs to be transformed.
* Send Diffuser Motation Ready
  * Service: Sync-Manager
  * Type: Exit
  * Purpose: Sync-Manager sent a payload with a content to content diffuser stating Motation is ready.
  * Note: This log will be written for each content in the sync that needs to be transformed.
* Handle Motation Ready Payload
  * Service: Content-Diffuser
  * Type: Entry
  * Purpose: Diffuser received a payload with content signifying that Motation is ready for content.
  * Note: This log will be written for each content in the sync that needs to be transformed.
* Finished Handling Motation Ready Payload
  * Service: Content-Diffuser
  * Type: Exit
  * Purpose: Diffuser finished handling the Motation ready payload.
  * Note: This log will be written for each content in the sync that needs to be transformed.
* Taxi Relation Local Ids
  * Service: Content-Diffuser
  * Type: Message
  * Purpose: Diffuser sent a request for taxis to pickup local ids.
* diffuser 1-3 (content checker processor)
* diff report 7-10 (content message)
  * Note: only for main content to be delivered

Based on diffuser content checker results, pickup steps repeated for dependencies before the content moves to delivery steps.

## Delivery

Transactions that require delivering content will have these delivery logs.

This is the flow of a single main content. With multiple contents possibly being delivered in parallel many of these logs could appear out of order but actually are related to another content.

* diffuser 9-11 (Motation Object Delivery Checker)
  * View Motation Object Delivery for related logs
* diffuser 12-14 (Dependency Delivery Checker)
  * View Dependency Delivery for related logs
  * Expectation: related logs will appear if dependencies will be delivered
* diffuser 15-17 (System Object Delivery Checker)
  * View System Object Delivery for related logs
  * Expectation: related logs will appear if System Objects will be delivered
* diffuser 18-20 (Content Delivery Checker)
  * View Content Delivery for related logs

After Content Delivery Checker logs, view Transaction Finished logs.

### Motation Object Delivery

* Handle Motation Ready To Transform
  * Service: Taxi-Dropoff
  * Type: Entry
  * Purpose: Taxi dropoff received a request with Motation content that is ready to transform out to raw data.
  * Note: This log will be written for each content and Motation object in the sync that needs to be transformed.
* Send Motation To Transform
  * Service: Taxi-Dropoff
  * Type: Message/Exit
  * Purpose: Taxi-Dropoff sent payload with Motation content to transformer out to transform.
  * Note: This log will be written for each content and Motation object in the sync that needs to be transformed.
* Motation Ready to Transform
  * Service: Sync-Manager
  * Type: Entry
  * Purpose: Sync-Manager received request to transform Motation out to raw data.
  * Note: This log will be written for each content and Motation object in the sync that needs to be transformed.
* Sent Transformation Out Payload
  * Service: Sync-Manager
  * Type: Exit
  * Purpose: Sync-Manager sent a request to the transformer out for a Motation to be transformed to raw data.
  * Note: This log will be written for each content and Motation object in the sync that needs to be transformed.
* Handle Transform Out Request
  * Service: Transformer-Out-Common
  * Type: Entry
  * Purpose: Transformer out received a request to transform content Motation into raw data.
  * Note: This log will be written for each content and Motation object in the sync that needs to be transformed.
* Map Definition
  * Service: Transformer-Out-Common
  * Type: Process
  * Purpose: Transformer out is about to send a request to motator to map definition Motation before transformation.
  * Note: This log will be written for each content with a definition in the sync that needs to be transformed.
* Map Request
  * Service: Motator
  * Type: Entry
  * Purpose: Motator received a request to map Motation.
* Map Request Decode Payload
  * Service: Motator
  * Type: Process
  * Purpose: Motator decoded payload to map Motation.
* Finished Map Request
  * Service: Motator
  * Type: Exit
  * Purpose: Motator finished mapping Motation.
* Transform Out Definition
  * Service: Transformer-Out-Common
  * Type: Process
  * Purpose: Transformer out is about to send definition Motation payload to binary to transform to raw data.
  * Note: This log will be written for each content with a definition in the sync that needs to be transformed.
  * Variations: Will appear only if that Motation Object Type is being delivered.
    * Transform Out {Motation Object Type}
      * Purpose: Transformer out is about to send {Motation Object Type} Motation payload to binary to transform to raw data.
      * Motation Object Types
        * Transform Out Category
        * Transform Out Domain
        * Transform Out Folder
        * Transform Out Language
        * Transform Out Relationship
        * Transform Out Tag
      * Expectation: Will appear only if that Motation Object Type is being delivered.
      * Note: This log will be written for each content with a {Motation Object Type} in the sync that needs to be transformed.
* Finished Handling Transform Out Request
  * Service: Transformer-Out-Common
  * Type: Process
  * Purpose: Transformer out finished handling transformer request for a content and sent a message to continue the process.
  * Note: This log will be written for each content in the sync that needs to be transformed.
* Handle Motation Object Raw Data
  * Service: Taxi-Dropoff
  * Type: Process
  * Purpose: Taxi-Dropoff is about to send a request to adapter write to sync Motation object raw data.
  * Note: This log will be written for each content in the sync.
* Send Raw Data Sync Request
  * Service: Taxi-Dropoff
  * Type: Process
  * Purpose: Taxi-Dropoff is about to send a request to adapter write to sync raw data.
  * Note: This log will be written for each content in the sync.
* Received Raw Data Sync Response
  * Service: Taxi-Dropoff
  * Type: Process
  * Purpose: Taxi-Dropoff received a response from adapter write for syncing raw data.
  * Note: This log will be written for each content in the sync.
* Sync Content Request
  * Service: Adapter-Write-Common
  * Type: Entry
  * Purpose: Adapter write received a request to sync a content.
  * Note: This log will be written for each content, Motation object, dependency, and system object.
* Decode Sync Content Request
  * Service: Adapter-Write-Common
  * Type: Process
  * Purpose: Adapter write decoded the request payload.
  * Note: This log will be written for each content, Motation object, dependency, and system object.
* Motation Object Support
  * Service: Adapter-Write-Common
  * Type: Entry
  * Purpose: Adapter write received a request to check Motation object support.
* Retrieved Motation Object Support
  * Service: Adapter-Write-Common
  * Type: Exit
  * Purpose: Adapter write found and returned the supported Motation objects.
* Sync {Raw Data Type}
  * Service: Adapter-Write-Common
  * Type: Process
  * Purpose: Adapter write sent category raw data to binary connector.
  * Variations:
    * Sync Category
    * Sync Definition
    * Sync Domain
    * Sync Folder
    * Sync Language
    * Sync Relationship
    * Sync Tag
  * Expectation: Each will only appear if that raw data type is delivered and supported.
  * Note: This log will be written for each {raw data type} Motation object.
* Finished Raw Data Sync
  * Service: Taxi-Dropoff
  * Type: Exit
  * Purpose: Taxi-Dropoff finished handling request to sync raw data.
  * Note: This log will be written for each content in the sync.
* Drop Off Taxi Done
  * Service: Sync-Manager
  * Type: Entry
  * Purpose: Sync-Manager received request for drop off taxi finishing work with a content.
  * Note: This log will be written multiple times for each content in the sync.
* Send Diffuser Drop Off Taxi Done
  * Service: Sync-Manager
  * Type: Exit
  * Purpose: Sync-Manager sent a payload to content diffuser with content that drop off taxi finished work with a content.
  * Note: This log will be written multiple times for each content in the sync.
* Sync Process Done
  * Service: Content-Diffuser
  * Type: Entry
  * Purpose: Diffuser received a payload signifying that part sync process was done.
  * Note: This log will be written multiple times for each content in the sync.

### Dependency Delivery

* Taxi Dropoff Delivery
  * Service: Content-Diffuser
  * Type: Message
  * Purpose: Diffuser sent a request to taxi dropoff to deliver content.
  * Note: This log will be written multiple times for each content in the sync. It will be written for each Motation object, system object, dependency, etc. Every individual delivery is associated with this log.
* Send Dropoff Taxi Payload
  * Service: Sync-Manager
  * Type: Process
  * Purpose: Sync-Manager is sending content with raw data to the taxi drop off to be synced.
  * Note: This log will be written for each content in the sync.
* Send Dropoff Taxi Payload Without Rawdata
  * Service: Sync-Manager
  * Type: Process
  * Purpose: Sync-Manager is sending content without rawdata to the taxi dropoff to be synced.
  * Note: This log will be written for each content in the sync.
* Finished Sending Taxi Request
  * Service: Sync-Manager
  * Type: Exit
  * Purpose: Sync-Manager finished sending taxi requests.
* Handle Motation Ready To Transform
  * Service: Taxi-Dropoff
  * Type: Entry
  * Purpose: Taxi dropoff received a request with Motation content that is ready to transform out to raw data.
  * Note: This log will be written for each content and Motation object in the sync that needs to be transformed.
* Send Motation To Transform
  * Service: Taxi-Dropoff
  * Type: Message/Exit
  * Purpose: Taxi-Dropoff sent payload with Motation content to transformer out to transform.
  * Note: This log will be written for each content and Motation object in the sync that needs to be transformed.
* Motation Ready to Transform
  * Service: Sync-Manager
  * Type: Entry
  * Purpose: Sync-Manager received request to transform Motation out to raw data.
  * Note: This log will be written for each content and Motation object in the sync that needs to be transformed.
* Sent Transformation Out Payload
  * Service: Sync-Manager
  * Type: Exit
  * Purpose: Sync-Manager sent a request to the transformer out for a Motation to be transformed to raw data.
  * Note: This log will be written for each content and Motation object in the sync that needs to be transformed.
* Handle Transform Out Request
  * Service: Transformer-Out-Common
  * Type: Entry
  * Purpose: Transformer out received a request to transform content Motation into raw data.
  * Note: This log will be written for each content and Motation object in the sync that needs to be transformed.
* Transform Out Content
  * Service: Transformer-Out-Common
  * Type: Process
  * Purpose: Transformer out is about to send content Motation payload to binary to transform to raw data.
  * Note: This log will be written for each content in the sync that needs to be transformed.
* Content Ready to Sync
  * Service: Sync-Manager
  * Type: Entry
  * Purpose: Sync-Manager received a request to send content to drop off taxi.
  * Note: This log will be written for each content in the sync.
* Send Drop Off Taxi Content Ready to Sync
  * Service: Sync-Manager
  * Type: Exit
  * Purpose: Sync-Manager sent a request to the drop off taxi for a content that is ready to sync.
  * Note: This log will be written for each content in the sync.
* Handle Raw Data Ready To Sync
  * Service: Taxi-Dropoff
  * Type: Entry
  * Purpose: Taxi-Dropoff received a payload with raw data ready to sync.
  * Note: This log will be written for each content in the sync.
* Handle Dependency Raw Data
  * Service: Taxi-Dropoff
  * Type: Process
  * Purpose: Taxi-Dropoff is about to send a request to adapter write to sync dependency raw data.
  * Note: This log will be written for each content in the sync.
* Send Raw Data Sync Request
  * Service: Taxi-Dropoff
  * Type: Process
  * Purpose: Taxi-Dropoff is about to send a request to adapter write to sync raw data.
  * Note: This log will be written for each content in the sync.
* Sync Content Request
  * Service: Adapter-Write-Common
  * Type: Entry
  * Purpose: Adapter write received a request to sync a content.
  * Note: This log will be written for each content, Motation object, dependency, and system object.
* Decode Sync Content Request
  * Service: Adapter-Write-Common
  * Type: Process
  * Purpose: Adapter write decoded the request payload.
  * Note: This log will be written for each content, Motation object, dependency, and system object.
* Request Binary
  * Service: Adapter-Write-Common
  * Type: Process
  * Purpose: Adapter write requested binary file data from binary connector.
  * Note: This log will be written for each content Motation object.
* Get Asset From Destination Taxi
  * Service: Adapter-Write-Common
  * Type: Process
  * Purpose: Adapter write sent a request to the destination taxi to retrieve a binary asset.
  * Expectation: Only when binary asset exists in content.
  * Note: This log will be written for each binary asset in a content Motation object.
* Handle Get Binary Request
  * Service: Taxi-Dropoff
  * Type: Entry
  * Purpose: Taxi-Dropoff received a request to retrieve a binary asset.
  * Expectation: Only when binary asset exists in content.
  * Note: This log will be written for each binary asset in a content Motation object.
* Finished Get Binary Request
  * Service: Taxi-Dropoff
  * Type: Exit
  * Purpose: Taxi-Dropoff finished handling request to retrieve a binary asset
  * Expectation: Only when binary asset exists in content.
  * Note: This log will be written for each binary asset in a content Motation object.
* Retrieved Asset From Destination Taxi
  * Service: Adapter-Write-Common
  * Type: Process
  * Purpose: Adapter write retrieved a binary asset from destination taxi.
  * Expectation: Only when binary asset exists in content.
  * Note: This log will be written for each binary asset in a content Motation object.
* Sync Binary
  * Service: Adapter-Write-Common
  * Type: Process
  * Purpose: Adapter write sent binary file raw data to binary connector.
  * Expectation: Only when binary asset exists in content.
  * Note: This log will be written for each binary asset in a content Motation object.
* Sync Content
  * Service: Adapter-Write-Common
  * Type: Process
  * Purpose: Adapter write sent dependency content raw data to binary connector.
  * Note: This log will be written for each dependency content.
* Received Raw Data Sync Response
  * Service: Taxi-Dropoff
  * Type: Process
  * Purpose: Taxi-Dropoff received a response from adapter write for syncing raw data.
  * Note: This log will be written for each content in the sync.
* Finished Raw Data Sync
  * Service: Taxi-Dropoff
  * Type: Exit
  * Purpose: Taxi-Dropoff finished handling request to sync raw data.
  * Note: This log will be written for each content in the sync.
* Sync Process Done
  * Service: Content-Diffuser
  * Type: Entry
  * Purpose: Diffuser received a payload signifying that part sync process was done.
  * Note: This log will be written multiple times for each content in the sync.

### System Object Delivery

* Content Ready to Sync
  * Service: Sync-Manager
  * Type: Entry
  * Purpose: Sync-Manager received a request to send content to drop off taxi.
  * Note: This log will be written for each content in the sync.
* Send Drop Off Taxi Content Ready to Sync
  * Service: Sync-Manager
  * Type: Exit
  * Purpose: Sync-Manager sent a request to the drop off taxi for a content that is ready to sync.
  * Note: This log will be written for each content in the sync.
* Handle Raw Data Ready To Sync
  * Service: Taxi-Dropoff
  * Type: Entry
  * Purpose: Taxi-Dropoff received a payload with raw data ready to sync.
  * Note: This log will be written for each content in the sync.
* Handle System Object Raw Data
  * Service: Taxi-Dropoff
  * Type: Process
  * Purpose: Taxi-Dropoff is about to send a request to adapter write to sync system object raw data.
  * Note: This log will be written for each system object in the sync.
* Send Raw Data Sync Request
  * Service: Taxi-Dropoff
  * Type: Process
  * Purpose: Taxi-Dropoff is about to send a request to adapter write to sync raw data.
  * Note: This log will be written for each content in the sync.
* Sync Content Request
  * Service: Adapter-Write-Common
  * Type: Entry
  * Purpose: Adapter write received a request to sync a content.
  * Note: This log will be written for each content, Motation object, dependency, and system object.
* Decode Sync Content Request
  * Service: Adapter-Write-Common
  * Type: Process
  * Purpose: Adapter write decoded the request payload.
  * Note: This log will be written for each content, Motation object, dependency, and system object.
* Sync System Object
  * Service: Adapter-Write-Common
  * Type: Process
  * Purpose: Adapter write sent system object raw data to binary connector.
  * Note: This log will be written for each system object content.
* Received Raw Data Sync Response
  * Service: Taxi-Dropoff
  * Type: Process
  * Purpose: Taxi-Dropoff received a response from adapter write for syncing raw data.
  * Note: This log will be written for each content in the sync.
* Finished Raw Data Sync
  * Service: Taxi-Dropoff
  * Type: Exit
  * Purpose: Taxi-Dropoff finished handling request to sync raw data.
  * Note: This log will be written for each content in the sync.
* Sync Process Done
  * Service: Content-Diffuser
  * Type: Entry
  * Purpose: Diffuser received a payload signifying that part sync process was done.
  * Note: This log will be written multiple times for each content in the sync.

### Content Delivery

* Taxi Dropoff Delivery
  * Service: Content-Diffuser
  * Type: Message
  * Purpose: Diffuser sent a request to taxi dropoff to deliver content.
  * Note: This log will be written multiple times for each content in the sync. It will be written for each Motation object, system object, dependency, etc. Every individual delivery is associated with this log.
* Send Dropoff Taxi Payload
  * Service: Sync-Manager
  * Type: Process
  * Purpose: Sync-Manager is sending content with raw data to the taxi drop off to be synced.
  * Note: This log will be written for each content in the sync.
* Send Dropoff Taxi Payload Without Rawdata
  * Service: Sync-Manager
  * Type: Process
  * Purpose: Sync-Manager is sending content without rawdata to the taxi dropoff to be synced.
  * Note: This log will be written for each content in the sync.
* Finished Sending Taxi Request
  * Service: Sync-Manager
  * Type: Exit
  * Purpose: Sync-Manager finished sending taxi requests.
* Handle Motation Ready To Transform
  * Service: Taxi-Dropoff
  * Type: Entry
  * Purpose: Taxi dropoff received a request with Motation content that is ready to transform out to raw data.
  * Note: This log will be written for each content and Motation object in the sync that needs to be transformed.
* Send Motation To Transform
  * Service: Taxi-Dropoff
  * Type: Message/Exit
  * Purpose: Taxi-Dropoff sent payload with Motation content to transformer out to transform.
  * Note: This log will be written for each content and Motation object in the sync that needs to be transformed.
* Motation Ready to Transform
  * Service: Sync-Manager
  * Type: Entry
  * Purpose: Sync-Manager received request to transform Motation out to raw data.
  * Note: This log will be written for each content and Motation object in the sync that needs to be transformed.
* Sent Transformation Out Payload
  * Service: Sync-Manager
  * Type: Exit
  * Purpose: Sync-Manager sent a request to the transformer out for a Motation to be transformed to raw data.
  * Note: This log will be written for each content and Motation object in the sync that needs to be transformed.
* Handle Transform Out Request
  * Service: Transformer-Out-Common
  * Type: Entry
  * Purpose: Transformer out received a request to transform content Motation into raw data.
  * Note: This log will be written for each content and Motation object in the sync that needs to be transformed.
* Transform Out Content
  * Service: Transformer-Out-Common
  * Type: Process
  * Purpose: Transformer out is about to send content Motation payload to binary to transform to raw data.
  * Note: This log will be written for each content in the sync that needs to be transformed.
* Content Ready to Sync
  * Service: Sync-Manager
  * Type: Entry
  * Purpose: Sync-Manager received a request to send content to drop off taxi.
  * Note: This log will be written for each content in the sync.
* Send Drop Off Taxi Content Ready to Sync
  * Service: Sync-Manager
  * Type: Exit
  * Purpose: Sync-Manager sent a request to the drop off taxi for a content that is ready to sync.
  * Note: This log will be written for each content in the sync.
* Handle Raw Data Ready To Sync
  * Service: Taxi-Dropoff
  * Type: Entry
  * Purpose: Taxi-Dropoff received a payload with raw data ready to sync.
  * Note: This log will be written for each content in the sync.
* Handle Dependency Raw Data
  * Service: Taxi-Dropoff
  * Type: Process
  * Purpose: Taxi-Dropoff is about to send a request to adapter write to sync dependency raw data.
  * Note: This log will be written for each content in the sync.
* Send Raw Data Sync Request
  * Service: Taxi-Dropoff
  * Type: Process
  * Purpose: Taxi-Dropoff is about to send a request to adapter write to sync raw data.
  * Note: This log will be written for each content in the sync.
* Sync Content Request
  * Service: Adapter-Write-Common
  * Type: Entry
  * Purpose: Adapter write received a request to sync a content.
  * Note: This log will be written for each content, Motation object, dependency, and system object.
* Decode Sync Content Request
  * Service: Adapter-Write-Common
  * Type: Process
  * Purpose: Adapter write decoded the request payload.
  * Note: This log will be written for each content, Motation object, dependency, and system object.
* Sync Content
  * Service: Adapter-Write-Common
  * Type: Process
  * Purpose: Adapter write sent content raw data to binary connector.
  * Note: This log will be written for each main content.
* Request Binary
  * Service: Adapter-Write-Common
  * Type: Process
  * Purpose: Adapter write requested binary file data from binary connector.
  * Note: This log will be written for each content Motation object.
* Get Asset From Destination Taxi
  * Service: Adapter-Write-Common
  * Type: Process
  * Purpose: Adapter write sent a request to the destination taxi to retrieve a binary asset.
  * Expectation: Only when binary asset exists in content.
  * Note: This log will be written for each binary asset in a content Motation object.
* Handle Get Binary Request
  * Service: Taxi-Dropoff
  * Type: Entry
  * Purpose: Taxi-Dropoff received a request to retrieve a binary asset.
  * Expectation: Only when binary asset exists in content.
  * Note: This log will be written for each binary asset in a content Motation object.
* Finished Get Binary Request
  * Service: Taxi-Dropoff
  * Type: Exit
  * Purpose: Taxi-Dropoff finished handling request to retrieve a binary asset
  * Expectation: Only when binary asset exists in content.
  * Note: This log will be written for each binary asset in a content Motation object.
* Retrieved Asset From Destination Taxi
  * Service: Adapter-Write-Common
  * Type: Process
  * Purpose: Adapter write retrieved a binary asset from destination taxi.
  * Expectation: Only when binary asset exists in content.
  * Note: This log will be written for each binary asset in a content Motation object.
* Sync Binary
  * Service: Adapter-Write-Common
  * Type: Process
  * Purpose: Adapter write sent binary file raw data to binary connector.
  * Expectation: Only when binary asset exists in content.
  * Note: This log will be written for each binary asset in a content Motation object.
* Finished Sync Content Request
  * Service: Adapter-Write-Common
  * Type: Exit
  * Purpose: Adapter write finished syncing content.
  * Note: This log will be written for each content, Motation object, dependency, and system object.
* Drop Off Taxi Done
  * Service: Sync-Manager
  * Type: Entry
  * Purpose: Sync-Manager received request for drop off taxi finishing work with a content.
  * Note: This log will be written multiple times for each content in the sync.
* Send Diffuser Drop Off Taxi Done
  * Service: Sync-Manager
  * Type: Exit
  * Purpose: Sync-Manager sent a payload to content diffuser with content that drop off taxi finished work with a content.
  * Note: This log will be written multiple times for each content in the sync.
* Sync Process Done
  * Service: Content-Diffuser
  * Type: Entry
  * Purpose: Diffuser received a payload signifying that part sync process was done.
  * Note: This log will be written multiple times for each content in the sync.
* Finished Handling Sync Process Done
  * Service: Content-Diffuser
  * Type: Exit
  * Purpose: Diffuser finished handling the sync process done payload.
  * Note: This log will be written multiple times for each content in the sync.

## Transaction Finish

Finished transactions will have these transaction finish logs.

* Sent Sync Completed
  * Service: Content-Diffuser
  * Type: Message
  * Purpose: Diffuser received all content back as synced. Sent message to signify sync is completed.
* Sync Completed for All Contents
  * Service: Sync-Manager
  * Type: Entry
  * Purpose: Sync-Manager received a request signifying that all contents were synced.
* Send SSH Post Hook
  * Service: Sync-Manager
  * Type: Process
  * Purpose: Sync-Manager sent a request to the ssh post hook.
  * Expectation: Only when endpoint has SSH Post Hook
* Handle Hook Request
  * Service: Hooks-SSH
  * Type: Entry
  * Purpose: Hooks SSH received a request to handle a hook.
  * Expectation: Only when endpoint has SSH Post Hook
* Send SSH Post Hook Finished
  * Service: Hooks-SSH
  * Type: Message
  * Purpose: Hooks SSH handled a post hook request and notified sync-manager.
  * Expectation: Only when endpoint has SSH Post Hook
* Finished Handling Hook Request
  * Service: Hooks-SSH
  * Type: Exit
  * Purpose: Hooks SSH finished handling hook request.
  * Expectation: Only when endpoint has SSH Post Hook
* Transaction Inactive
  * Service: Sync-Manager
  * Type: Process
  * Purpose: Sync-Manager is setting the transaction as inactive.
  * Note: Can happen either after "Sync Completed for All Contents" or "SSH Post Hook Finished"
* Handled Sync Completed for All Contents
  * Service: Sync-Manager
  * Type: Exit
  * Purpose: Sync-Manager handled the sync completed for all contents request.
* SSH Post Hook Finished
  * Service: Sync-Manager
  * Type: Entry
  * Purpose: Sync-Manager received a payload signifying that ssh post hook finished working.
  * Expectation: Only when endpoint has SSH Post Hook
* Post Notification
  * Service: Note-Man
  * Type: Entry
  * Purpose: Note-Man received a request to save a notification.
  * Note This message is sent at the beginning and end of the transaction.
* Finished Posting Notification
  * Service: Note-Man
  * Type: Exit
  * Purpose: Note-Man handled the request to save a notification.
  * Note This message is sent at the beginning and end of the transaction.
* diff report 11-12 (diff report status)

## Diffuser Processors

These are diffuser processors that run in the middle of a transaction.

### Content Checker

* Process Content Checker
  * Service: Content-Diffuser
  * Type: Entry
  * Purpose: Diffuser checks if the content has all the ids and then moves it along in the process.
  * Note: This log may be written multiple times for each content in the sync.
* Process Individual Content Checker
  * Service Content-Diffuser
  * Type: Process
  * Purpose: Diffuser checks ids for single content and moves it along in the process.
  * Note: This log may be written multiple times for each content in the sync.
* Finished Process Content Checker
  * Service: Content-Diffuser
  * Type: Exit
  * Purpose: Diffuser finished handling content checker process for content.
  * Note: This log may be written multiple times for each content in the sync.

### Endpoint Checker

* Process Endpoint Checker
  * Service: Content-Diffuser
  * Type: Entry
  * Purpose: Diffuser checks what level the endpoint is so it can request raw data pickups appropriately.
  * Expectation: Only when the destination has existing content to be picked up.
* Finished Process Endpoint Checker
  * Service: Content-Diffuser
  * Type: Exit
  * Purpose: Diffuser finished checking endpoint levels.
  * Expectation: Only when the destination has existing content to be picked up.

### Motation Checker

* Process Motation Checker
  * Service: Content-Diffuser
  * Type: Entry
  * Purpose: Diffuser checks a content for if it has Motation or not.
  * Note: This log may be written multiple times for each content in the sync.
* Process Motation Checker Content Item
  * Service: Content-Diffuser
  * Type: Process
  * Purpose: Diffuser checks a specific content for if it has Motation or not.
  * Note: This log may be written multiple times for each content in the sync.
* Finished Process Motation Checker
  * Service: Content-Diffuser
  * Type: Exit
  * Purpose: Diffuser finished checking if a content has Motation or not.
  * Note: This log may be written multiple times for each content in the sync.

### Delivery

### Motation Object Delivery Checke

* Process Motation Object Delivery
  * Service: Content-Diffuser
  * Type: Entry
  * Purpose: Diffuser checks that a content's Motation objects are ready for delivery and starts to deliver them.
  * Note: This log may be written for each content in the sync.
* Process Individual Motation Object Delivery
  * Service: Content-Diffuser
  * Type: Process
  * Purpose: Diffuser checks that a specific content's Motation objects are ready for delivery and starts to deliver them.
  * Note: This log may be written for each content in the sync.
* Finished Process Motation Object Delivery
  * Service: Content-Diffuser
  * Type: Exit
  * Purpose: Diffuser finished motation object delivery processor.
  * Note: This log may be written for each content in the sync.

### Dependency Delivery Checker

* Process Dependency Delivery
  * Service: Content-Diffuser
  * Type: Entry
  * Purpose: Diffuser checks that a dependency is ready for delivery and starts to deliver it.
  * Note: This log may be written for each content in the sync.
* Process Individual Dependency Delivery
  * Service: Content-Diffuser
  * Type: Process
  * Purpose: Diffuser checks that a specific dependency is ready for delivery and starts to deliver it.
  * Expectation: Only appears when there are dependencies to deliver.
  * Note: This log may be written for each content in the sync.
* Finished Process Dependency Delivery
  * Service: Content-Diffuser
  * Type: Exit
  * Purpose: Diffuser finished dependency delivery process.
  * Note: This log may be written for each content in the sync.

### System Object Delivery Checker

* Process System Object Delivery
  * Service: Content-Diffuser
  * Type: Entry
  * Purpose: Diffuser checks that a system object is ready for delivery and starts to deliver it.
  * Note: This log may be written for each content in the sync.
* Process Individual System Object Delivery
  * Service: Content-Diffuser
  * Type: Process
  * Purpose: Diffuser checks that a specific system object is ready for delivery and starts to deliver it.
  * Expectation: Only appears when there are system objects to deliver.
  * Note: This log may be written for each content in the sync.
* Finished Process System Object Delivery
  * Service: Content-Diffuser
  * Type: Exit
  * Purpose: Diffuser finished system object delivery process.
  * Note: This log may be written for each content in the sync.

### Content Delivery Checker

* Process Content Delivery
  * Service: Content-Diffuser
  * Type: Entry
  * Purpose: Diffuser checks that a content is ready for delivery and starts to deliver it.
  * Note: This log may be written for each content in the sync.
* Process Individual Content Delivery
  * Service: Content-Diffuser
  * Type: Process
  * Purpose: Diffuser checks that a specific content is ready for delivery and starts to deliver it.
  * Note: This log may be written for each content in the sync.
* Finished Process Content Delivery
  * Service: Content-Diffuser
  * Type: Exit
  * Purpose: Diffuser finished content delivery process.
  * Note: This log may be written for each content in the sync.

## Diff Report

Both sync and diff transactions will have the following logs related to diff reporting.

* Diff Report Status
  * Service: Kal-El
  * Type: Entry
  * Purpose: Kal-El received a payload with a status for a diff report for a transaction.
  * Note: This message is sent at the beginning and end of the transaction.
* Finished Handling Diff Report Status
  * Service: Kal-El
  * Type: Exit
  * Purpose: Kal-El handled the payload with a status for a diff report for a transaction.
  * Note: This message is sent at the beginning and end of the transaction.
* Sent Kal-El Endpoint
  * Service: Content-Diffuser
  * Type: Message
  * Purpose: Diffuser sent a payload to kal-el with endpoint details for diff reporting.
* Finished Handling Immutable Ids Payload
  * Service: Content-Diffuser
  * Type: Exit
  * Purpose: Diffuser finished handling the immutable ids payload that was sent to it.
* Diff Report Endpoint
  * Service: Kal-El
  * Type: Entry
  * Purpose: Kal-El received a request to save endpoints for diff reporting.
* Finished Handling Diff Report Status
  * Service: Kal-El
  * Type: Exit
  * Purpose: Kal-El finished handling request to save endpoints for diff reporting.
* Sent Kal-El Content Payload
  * Service: Content-Diffuser
  * Type: Message
  * Purpose: Diffuser sent a payload with content data to kal-el for diff reporting.
* Diff Report Content
  * Service: Kal-El
  * Type: Entry
  * Purpose: Kal-El received a payload with content for diff reporting.
* Send Diffuser Diff Report Content Done
  * Service: Kal-El
  * Type: Message
  * Purpose: Kal-El sent a payload to content diffuser signaling that the content was processed.
* Send Syncman Diff Report Content Processed
  * Service: Kal-El
  * Type: Message
  * Purpose: Kal-El sent a payload to sync manager signaling that the content was processed.
* Diff Report Status
  * Service: Kal-El
  * Type: Entry
  * Purpose: Kal-El received a payload with a status for a diff report for a transaction.
  * Note: This message is sent at the beginning and end of the transaction.
* Finished Handling Diff Report Status
  * Service: Kal-El
  * Type: Exit
  * Purpose: Kal-El handled the payload with a status for a diff report for a transaction.
  * Note: This message is sent at the beginning and end of the transaction.

## Diff Transaction

A diff transaction has a slightly different set of starting logs than a sync transaction.

* Created Transaction
  * Service: Sync-Manager
  * Type: Entry
  * Purpose: Tells when a transaction is started.
  * Note: As soon as the transaction id has been created. Not as soon as the call is made.
* Diff Transaction Started
  * Service: Sync-Manager
  * Type: Exit
  * Purpose: Tells when the Sync-Manager request job details from the Job-Depot and sent updated status of diff report to Kal-El
* Diff Report Content Done
  * Service: Sync-Manager
  * Type: Exit
  * Purpose: Sync-Manager reported content done to the diffuser for diff report.
* Diff Report Content done
  * Service: Sync-Manager
  * Type: Entry
  * Purpose: Sync-Manger received a request signifying that content is done for diff transaction.
* Send Diffuser Diff Report Content done
  * Service: Sync-Manager
  * Type: Exit
  * Purpose: Sync-Manager sent a request to content diffuser signifying that content is done for diff transaction.

## GitHub Webhook Listener

**Note: These logs may not appein the transaction audit trail API since there is no transaction ID when the logs are written**

The GitHub Webhook Listener (GitHub source jobs) will have the following logs.

* Handle GitHub WebHook
  * Service: GitHub-Webook-Listener
  * Type: Entry
  * Purpose: GitHub-Webook-Listener received a payload from GitHub
* Sent GitHub Event
  * Service: GitHub-Webook-Listener
  * Type: Message
  * Purpose: GitHub-Webook-Listener sent the GitHub event to sync manager to start a sync transaction.
* Finished Handling GitHub WebHook
  * Service: GitHub-Webook-Listener
  * Type: Exit
  * Purpose: GitHub-Webook-Listener handled the payload from GitHub.

## Pipeliner

**Note: These logs may not appein the transaction audit trail API since there is no transaction ID when the logs are written**

Transactions started via a pipeline will have the following logs.

* Start Pipeline
  * Service: Pipeliner
  * Type: Entry
  * Purpose: Pipeliner received a request to start a pipeline.
  * Note: This will be written before any sync transaction log.
* Pipeline Started Transaction
  * Service: Pipeliner
  * Type: Message
  * Purpose: Pipeliner sent a request to start a sync transaction.
  * Note: This will be written before any sync transaction log and for every job in the pipeline.
* Pipeline Started
  * Service: Pipeliner
  * Type: Exit
  * Purpose: Pipeliner finished handling a request to start a pipeline.
  * Note: This will be written before any sync transaction log.

## Scheduler

**Note: These logs may not appein the transaction audit trail API since there is no transaction ID when the logs are written**

Transactions or piplines started via the scheduler will have the following logs.

* Scheduled Job
  * Service: Scheduler
  * Type: Entry
  * Purpose: Scheduler has a config to start a sync transaction and will send a request to sync-manager to start it.
* Sent Scheduled Job Request
  * Service: Scheduler
  * Type: Exit
  * Purpose: Scheduler sent a request to sync-manager to start a sync transaction.

OR

* Scheduled Pipeline
  * Service: Scheduler
  * Type: Entry
  * Purpose: Scheduler has a config to start a pipeline transaction and will send a request to pipeliner to start it.
* Sent Scheduled Pipeline Request
  * Service: Scheduler
  * Type: Exit
  * Purpose: Scheduler sent a request to pipeliner to start a pipeline transaction.

## Note-Man

Note-Manager alerts will have the following logs.

* Post Alert
  * Service: Note-Man
  * Type: Entry
  * Purpose: Note-Man received a request to save an alert
* Finished Posting Alert
  * Service: Note-Man
  * Type: Exit
  * Purpose: Note-Man handled request to save an alert

## Sync-Manager

Sync-Manager has additional logs that can be written in certain scenarios.

### Cancel Transaction

* Cancel Transaction
  * Service: Sync-Manager
  * Type: Entry
  * Purpose: Signifies when a transaction is canceled.
* Finished Cancel Transaction
  * Service: Sync-Manager
  * Type: Exit
  * Purpose: Signifies that the transaction has now been canceled.

### Fail over

* REST fail over request
  * Service: Sync-Manager
  * Type: Entry
  * Purpose: Signifies that the transaction sent a REST fail over request.
* Finished REST fail over request
  * Service: Sync-Manager
  * Type: Exit
  * Purpose: Signifies that the transaction handled the REST fail over request.
* Fail Over Payload
  * Service: Sync-Manager
  * Type: Entry
  * Purpose: Sync-Manager received a request with fail over payload.
* Send Fail Over Retry
  * Service: Sync-Manager
  * Type: Process
  * Purpose: Sync-Manager sent a message to retry the fail over.
* Handled Fail Over
  * Service: Sync-Manager
  * Type: Exit
  * Purpose: Sync-Manager finished handling the fail over request.
