Job reports overview

Job Overview Report

This report provides detailed transfer information for the individual job.

Schedule: Provides information on how many times the job has executed, when the job will run again and progress towards meeting the job stop policy defined

Transfer Details | Identified Chart: Reflects content identified on the source platform and the status summary for items

Transfer Details | Revised Chart: Reflects content that DataHub revised during transfer to meet destination requirements and user-defined job configurations

Transfer Details | Flagged Chart: Reflect content that DataHub could not transfer. Manual remediation is required

Run Breakdown Report: Provides job history information for each execution for the given job

In some circumstances, bytes on the destination can be higher than listed on the source. This discrepancy is caused by property promotion on Word documents

Note:

Values in the run breakdown may differ from values presented in the charts. This is because the run breakdown tracks each individual occurrence where as an item can only exist in a single chart category

Example: When an item is both truncated AND ignored, it would not show up in the "Revised" chart but would show up in the "Revised" run breakdown

The run breakdown also shows both files and folder values. The charts display files and folder values separately; with the "Transfer Details" dropdown to available to switch between display values.

Run Breakdown - Select a specific Job Run

Run Breakdown - Last Activity

Job Information - Details

Review the detailed job information, including source, destination, schedule, and current status

GET

{{url}}v1/jobs/{{job}}?fields=all

example response

{
    "status": 200,
    "type": "job",
    "job": {
        "transfer": {
            "source": {
                "event_position": "8727246012870289",
                "options": null,
                "connection": {
                    "id": "2aeae932f53e430d9b96739b913afb93",
                    "name": "box - rlind",
                    "platform": {
                        "id": "box",
                        "type": "platform"
                    },
                    "group": false,
                    "disabled": false,
                    "modified_on": 1521734849,
                    "type": "connection"
                },
                "target": {
                    "item": {
                        "parent": {
                            "root": true,
                            "name": "MASTER_TESTS"
                        },
                        "name": "BOUNDARY TESTS"
                    }
                }
            },
            "destination": {
                "options": null,
                "connection": {
                    "id": "5dc531df34554edd96c31272262ad950",
                    "name": "My Computer",
                    "platform": {
                        "id": "fs",
                        "type": "platform"
                    },
                    "disabled": false,
                    "type": "connection"
                },
                "target": {
                    "item": {
                        "parent": {
                            "parent": {
                                "root": true,
                                "name": "C"
                            },
                            "name": "fs-test"
                        },
                        "name": "destination_boundary_tests"
                    }
                }
            },
            "transfer_type": "copy",
            "conflict_resolution": "copy",
            "delete_propagation": [
                "ignore_destination"
            ],
            "type": "transfer"
        },
        "kind": "transfer",
        "id": "c4d8c04a69224ef0bfaa2f8e920b8792",
        "name": "Boundary Tests",
        "previous_execution": {
            "progress": 1,
            "phase": "complete",
            "id": 47,
            "start_time": 1521734847,
            "end_time": 1521734855,
            "duration": {
                "value": 7.978,
                "unit": "s"
            },
            "status": "completed",
            "node_address": "10.11.8.208",
            "stats": {
                "destination": {
                    "batches_pending": 0,
                    "files_pending": 0,
                    "rate_limits": 0,
                    "versions_pending": 0
                },
                "source": {
                    "batches_pending": 0,
                    "files_pending": 0,
                    "rate_limits": 0,
                    "versions_pending": 0
                }
            }
        },
        "status": "idle",
        "scheduler": {
            "id": -1,
            "name": "default",
            "caption": "Default Scheduler",
            "disabled": false
        },
        "category": {
            "id": -1,
            "name": "Default"
        },
        "priority": 0,
        "disabled": false,
        "created_on": 1521664983,
        "created_by": "69a08e6a1bc5483eb0d8935036a921c5",
        "schedule": {
            "mode": "manual"
        },
        "type": "job",
        "links": {
            "self": {
                "href": "http://localhost:9090/v1/jobs/c4d8c04a69224ef0bfaa2f8e920b8792"
            },
            "start": {
                "href": "http://localhost:9090/v1/jobs/c4d8c04a69224ef0bfaa2f8e920b8792?start=1",
                "method": "PATCH"
            },
            "pause": {
                "href": "http://localhost:9090/v1/jobs/c4d8c04a69224ef0bfaa2f8e920b8792?pause=1",
                "method": "PATCH"
            }
        }
    }
}

Job Statistics - All

Review the detailed transfer information, including total number of files, number of folders, and amount of data, as well as that data aggregated by categories, status, etc.

Get all of the job stats

GET

{{url}}v1/transfers/{{job}}/stats

In some circumstances, bytes on the destination can be higher than listed on the source. This discrepancy is caused by property promotion on Word documents

example response

{
    "status": 200,
    "meta": {
        "limit": 50
    },
    "type": "transfer_stats",
    "transfer_stats": {
        "id": "c4d8c04a69224ef0bfaa2f8e920b8792",
        "timeline": [
            {
                "timestamp": 1521676800,
                "stats": {
                    "success": {
                        "source": {
                            "bytes": 4072065980,
                            "files": 9028,
                            "folders": 498
                        },
                        "destination": {
                            "bytes": 4072065980,
                            "files": 9028,
                            "folders": 498
                        }
                    },
                    "processed": {
                        "source": {
                            "bytes": 491,
                            "files": 2,
                            "folders": 2
                        },
                        "destination": {
                            "bytes": 491,
                            "files": 2,
                            "folders": 2
                        }
                    }
                }
            },
            {
                "timestamp": 1521590400,
                "stats": {
                    "success": {
                        "source": {
                            "bytes": 4072065980,
                            "files": 9028,
                            "folders": 498
                        },
                        "destination": {
                            "bytes": 4072065980,
                            "files": 9028,
                            "folders": 498
                        }
                    },
                    "processed": {
                        "source": {
                            "bytes": 491,
                            "files": 2,
                            "folders": 2
                        },
                        "destination": {
                            "bytes": 491,
                            "files": 2,
                            "folders": 2
                        }
                    }
                }
            }
        ],
        "by_category": {},
        "by_status": {
            "success": {
                "source": {
                    "bytes": 4072065980,
                    "files": 9028,
                    "folders": 498
                },
                "destination": {
                    "bytes": 4072065980,
                    "files": 9028,
                    "folders": 498
                }
            },
            "processed": {
                "source": {
                    "bytes": 491,
                    "files": 2,
                    "folders": 2
                },
                "destination": {
                    "bytes": 491,
                    "files": 2,
                    "folders": 2
                }
            }
        },
        "processing": {
            "truncated": {
                "source": {
                    "bytes": 491,
                    "files": 2,
                    "folders": 2
                },
                "destination": {
                    "bytes": 491,
                    "files": 2,
                    "folders": 2
                }
            }
        }
    }
}

The data under transfer_stats / timeline / stats / success shows information related to objects transferred successfully without any revisions

The data under transfer_stats / timeline / stats / processed shows information related to objects transferred successfully WITH modifications

Job Statistics - By Status

Get a subset of the stats by status

GET

{{url}}v1/transfers/{{job}}/stats/by_status

example response

{
    "status": 200,
    "item": {
        "success": {
            "source": {
                "bytes": 13193603,
                "files": 8,
                "folders": 14
            },
            "destination": {
                "bytes": 13193603,
                "files": 8,
                "folders": 14
            }
        },
        "processed": {
            "source": {
                "bytes": 684367,
                "files": 6
            },
            "destination": {
                "bytes": 684367,
                "files": 6
            }
        },
        "skipped": {
            "source": {
                "bytes": 41511795,
                "files": 2
            },
            "destination": null
        }
    }
}

Job Statistics - By Category

Get a subset of the stats by category

GET

{{url}}v1/transfers/{{job}}/stats/by_category

example response

{
    "status": 200,
    "item": {}
}

Job Statistics - Processing

Get a subset of the stats of the items being processed

GET

{{url}}v1/transfers/{{job}}/stats/processing

example response

{
    "status": 200,
    "item": {
        "truncated": {
            "source": {
                "bytes": 491,
                "files": 2,
                "folders": 2
            },
            "destination": {
                "bytes": 491,
                "files": 2,
                "folders": 2
            }
        }
    }
}

Run Breakdown

Review the details per run including how long it took to run, the number of files, folders, and amount of data transferred, and the number of rate limits encountered.

Values in the run breakdown may differ from values presented in the charts. This is because the run breakdown tracks each individual occurrence where as an item can only exist in a single chart category

Example: When an item is both truncated AND ignored, it would not show up in the "Revised" chart but would show up in the "Revised" run breakdown

The run breakdown also shows both files and folder values. The charts display files and folder values separately; with the "Transfer Details" dropdown to available to switch between display values.

Get the list of job runs and their details

GET

{{url}}v1/jobs/history?job={{job}}&fields=all&sort=start_time desc

{
    "status": 200,
    "meta": {
        "links": {
            "self": {
                "href": "http://localhost:9090/v1/jobs/history?offset=0&limit=100&sort=start_time+DESC&fields=all&job_id=c4d8c04a69224ef0bfaa2f8e920b8792"
            },
            "download": {
                "href": "http://localhost:9090/v1/jobs/history.csv?sort=start_time+DESC&job_id=c4d8c04a69224ef0bfaa2f8e920b8792"
            }
        },
        "offset": 0,
        "limit": 100,
        "sort": [
            {
                "by": "start_time",
                "direction": "desc"
            }
        ],
        "fields": [
            "all"
        ],
        "job_id": [
            "c4d8c04a69224ef0bfaa2f8e920b8792"
        ],
        "total_count": 2
    },
    "type": "job_executions",
    "job_executions": [
        {
            "job_id": "c4d8c04a69224ef0bfaa2f8e920b8792",
            "progress": 1,
            "phase": "complete",
            "id": 47,
            "start_time": 1521734847,
            "end_time": 1521734855,
            "duration": {
                "value": 7.978,
                "unit": "s"
            },
            "status": "completed",
            "node_address": "10.11.8.208",
            "stats": {
                "destination": {
                    "batches_pending": 0,
                    "files_pending": 0,
                    "rate_limits": 0,
                    "versions_pending": 0
                },
                "source": {
                    "batches_pending": 0,
                    "files_pending": 0,
                    "rate_limits": 0,
                    "versions_pending": 0
                }
            }
        },
        {
            "job_id": "c4d8c04a69224ef0bfaa2f8e920b8792",
            "progress": 1,
            "phase": "complete",
            "id": 14,
            "start_time": 1521664984,
            "end_time": 1521669357,
            "duration": {
                "value": 1.2148669444444444,
                "unit": "h"
            },
            "status": "completed",
            "node_address": "192.168.7.83",
            "stats": {
                "destination": {
                    "batches_pending": 0,
                    "bytes": 4072066471,
                    "files": 9030,
                    "files_pending": 0,
                    "folders": 500,
                    "rate_limits": 0,
                    "versions": 9030,
                    "versions_pending": 0
                },
                "source": {
                    "batches_pending": 0,
                    "files_pending": 0,
                    "rate_limits": 0,
                    "versions_pending": 0
                }
            }
        }
    ]
}

Job Timeline

The job timeline report will populate after two days of activity has been logged

Timeline reflects the UTC timezone. Job data points that cross this timezone will appear on the timeline

Get timeline statistics

GET

{{url}}v1/transfers/{{job}}/stats/timeline

example response

{
    "status": 200,
    "meta": {
        "limit": 50
    },
    "item": [
        {
            "timestamp": 1522886400,
            "stats": {
                "success": {
                    "source": {
                        "bytes": 15808923,
                        "files": 819,
                        "folders": 878
                    },
                    "destination": {
                        "bytes": 18836178,
                        "files": 819,
                        "folders": 878
                    }
                },
                "processed": {
                    "source": {
                        "bytes": 699410,
                        "files": 15,
                        "folders": 3
                    },
                    "destination": {
                        "bytes": 725561,
                        "files": 15,
                        "folders": 3
                    }
                }
            }
        },
....
.......

Job executions that run through UTC date change can show part of the run statistics on day 1 of the timeline and the second half of the timeline statistics on day 2

Related Links