# RUNFALCON PIPELINE INTEGRATION TOOLS
This package helps to integrate CI/CD processes with [runfalcon platform](https://www.runfalcon.com)
**REQUIEREMENTS**
None.
**USAGE**
```
python3 -m runfalconpipelineintegration <operation> [ags] [<flags>]
```
## Operation `authenticate`
Generates an [authentication token](https://app.runfalcon.com). This token will be input for secure operations.
### **Examples**
- Generate authentication token
```sh
python3 -m runfalconpipelineintegration authenticate login "myemail@mydomain.com" password "secretpassword"
```
You must replace `myemail@mydomain.com` and `secretpassword` for your valid credentials in runfalcon platform.
The Output of this operation is an alphanumeric token like this:
```
eyJhbGciOiJIUzI1NiIsInR5cCI6Ikicm9sZXMiOm51bGx9LCJpYXQiOjE2NzIyNTQyMDAsImV4cCI6MTY3MjI2MTQwMH0cWBm8Iua2sUFkHbr89epcfN9EtwBDKtqoLMUtdXJSk
```
## Operation `run`
This operation runs a performance testing scenario and waitwait for it to finish.
### **Examples**
- Run a scenario without waiting for it to finish
```sh
python3 -m runfalconpipelineintegration run token "nR5cCI6Ikicm9sZXMiOm51bGYXQiOjE2NzIyNDAsImV4cCI6MTY3MjI2MTQwMH0" client "My client Name" application "My application Name" scenario "My scenario code"
```
You must replace `nR5cCI6Ikicm9sZXMiOm51bGx9LCJpYXQiOjE2NzIyNTQyMDAsImV4cCI6MTY3MjI2MTQwMH0` for a valid authentication token, `My client Name` for your client name in runfalcon platform, `My application Name` for the name of the application in runfalcon platform aich the scneario belongs to, and `My scenario code` for the code of the existing scenario that you want to run. Add the switch `-q` if you want the command only shows the final response. The output of the command is a json object that specifies the new job id:
```
{
"jobId": 1158298,
"status": "SUCCESS",
"dateCreated": "2023-01-01T17:01:01.851Z",
"duration": 178.913196,
"kpiLatency": 3000,
"kpiErrors": 5,
"kpiThroughput": 100,
"kpiDeviation": 3000,
"metricLatency": 27.74,
"metricErrors": 0.35,
"metricThroughput": 1659057.06,
"metricDeviation": 52.36,
"complianceLatency": 199.08,
"complianceErrors": 192.94,
"complianceThroughput": 200,
"complianceDeviation": 198.25
}
```
Ih this response:
| Attribute | Type | Description |
| -- | -- | -- |
| `jobId` | Job Info | Id corresponding the new created job for this scenario run. |
| `status` | Job Info | Indicates if the job finished in `SUCCESS` or `ERROR` status. |
| `dateCreated` | Job Info | Date and time the job starts its execution. |
| `duration` | Job Info | Indicates the seconds the job took to finalize. |
| `kpiLatency` | KPI | Objective value defined for the scenario average latency. |
| `kpiErrors` | KPI | Objective value defined for the scenario errors percentage. |
| `kpiThroughput` | KPI | Objective value defined for the scenario capacity (requests attended per minute). |
| `kpiDeviation` | KPI | Objective value defined for the standard deviation for scenario average latency. |
| `metricLatency` | Metric | Measured value for the scenario average latency in this run (For this `jobId`). |
| `metricErrors` | Metric | Measured value for the scenario errors percentage in this run (For this `jobId`). |
| `metricThroughput` | Metric | Measured value for the capacity (requests attended per minute) in this run (For this `jobId`). |
| `metricDeviation` | Metric | Measured value for the standard deviation for scenario average latency in this run (For this `jobId`). |
| `complianceLatency` | Compliance | Latency compliance (latency metric vs latency KPI). |
| `complianceErrors` | Compliance | Errors percentage compliance (Errors percentage metric vs Errors percentage KPI). |
| `complianceThroughput` | Compliance | Capacity compliance (Capacity metric vs Capacity KPI). |
| `complianceDeviation` | Compliance | Deviation compliance (Deviation metric vs Deviation KPI). |
>If **silent mode** is needed to avoid info messages, you can add the flag `-q` at the end of the execution command line.
## Operation `eval-job-results`
Receives the json structure resulting from executing a scenario and evaluates its compliance by giving a tolerance level.
### **Examples**
- Receive the json structure resulting of executing an scenario and evaluates its compliance giving a tolerance level.
```sh
python3 -m runfalconpipelineintegration run token "nR5cCI6Ikicm9sZXMiOm51bGYXQiOjE2NzIyNDAsImV4cCI6MTY3MjI2MTQwMH0" client "My client Name" application "My application Name" scenario "My scenario code"
```
Raw data
{
"_id": null,
"home_page": "https://git-codecommit.zone.amazonaws.com/v1/repos/runfalcon-pipeline-integration-py-package",
"name": "runfalcon-pipeline-integration",
"maintainer": "",
"docs_url": null,
"requires_python": ">=3.6",
"maintainer_email": "",
"keywords": "",
"author": "Raul A. de Villa C.",
"author_email": "r@runfalcon.com",
"download_url": "https://files.pythonhosted.org/packages/84/d9/8113a08254c404f10e9ec862925a675b29345f78ace07d29149aaec3edb2/runfalcon-pipeline-integration-1.0.3.tar.gz",
"platform": null,
"description": "\n# RUNFALCON PIPELINE INTEGRATION TOOLS\n\nThis package helps to integrate CI/CD processes with [runfalcon platform](https://www.runfalcon.com)\n\n**REQUIEREMENTS**\n\nNone.\n \n**USAGE**\n\n```\npython3 -m runfalconpipelineintegration <operation> [ags] [<flags>]\n```\n\n## Operation `authenticate`\nGenerates an [authentication token](https://app.runfalcon.com). This token will be input for secure operations.\n\n### **Examples**\n\n- Generate authentication token\n\n ```sh\n python3 -m runfalconpipelineintegration authenticate login \"myemail@mydomain.com\" password \"secretpassword\"\n ```\n You must replace `myemail@mydomain.com` and `secretpassword` for your valid credentials in runfalcon platform.\n The Output of this operation is an alphanumeric token like this:\n ```\n eyJhbGciOiJIUzI1NiIsInR5cCI6Ikicm9sZXMiOm51bGx9LCJpYXQiOjE2NzIyNTQyMDAsImV4cCI6MTY3MjI2MTQwMH0cWBm8Iua2sUFkHbr89epcfN9EtwBDKtqoLMUtdXJSk\n ```\n\n## Operation `run`\nThis operation runs a performance testing scenario and waitwait for it to finish.\n\n### **Examples**\n\n- Run a scenario without waiting for it to finish\n\n ```sh\n python3 -m runfalconpipelineintegration run token \"nR5cCI6Ikicm9sZXMiOm51bGYXQiOjE2NzIyNDAsImV4cCI6MTY3MjI2MTQwMH0\" client \"My client Name\" application \"My application Name\" scenario \"My scenario code\"\n ```\n You must replace `nR5cCI6Ikicm9sZXMiOm51bGx9LCJpYXQiOjE2NzIyNTQyMDAsImV4cCI6MTY3MjI2MTQwMH0` for a valid authentication token, `My client Name` for your client name in runfalcon platform, `My application Name` for the name of the application in runfalcon platform aich the scneario belongs to, and `My scenario code` for the code of the existing scenario that you want to run. Add the switch `-q` if you want the command only shows the final response. The output of the command is a json object that specifies the new job id:\n ```\n {\n \"jobId\": 1158298, \n \"status\": \"SUCCESS\", \n \"dateCreated\": \"2023-01-01T17:01:01.851Z\", \n \"duration\": 178.913196, \n \"kpiLatency\": 3000, \n \"kpiErrors\": 5, \n \"kpiThroughput\": 100, \n \"kpiDeviation\": 3000, \n \"metricLatency\": 27.74, \n \"metricErrors\": 0.35, \n \"metricThroughput\": 1659057.06, \n \"metricDeviation\": 52.36, \n \"complianceLatency\": 199.08, \n \"complianceErrors\": 192.94, \n \"complianceThroughput\": 200, \n \"complianceDeviation\": 198.25\n }\n ```\n\n Ih this response:\n\n | Attribute | Type | Description |\n | -- | -- | -- |\n | `jobId` | Job Info | Id corresponding the new created job for this scenario run. |\n | `status` | Job Info | Indicates if the job finished in `SUCCESS` or `ERROR` status. |\n | `dateCreated` | Job Info | Date and time the job starts its execution. |\n | `duration` | Job Info | Indicates the seconds the job took to finalize. |\n | `kpiLatency` | KPI | Objective value defined for the scenario average latency. |\n | `kpiErrors` | KPI | Objective value defined for the scenario errors percentage. |\n | `kpiThroughput` | KPI | Objective value defined for the scenario capacity (requests attended per minute). |\n | `kpiDeviation` | KPI | Objective value defined for the standard deviation for scenario average latency. |\n | `metricLatency` | Metric | Measured value for the scenario average latency in this run (For this `jobId`). |\n | `metricErrors` | Metric | Measured value for the scenario errors percentage in this run (For this `jobId`). |\n | `metricThroughput` | Metric | Measured value for the capacity (requests attended per minute) in this run (For this `jobId`). |\n | `metricDeviation` | Metric | Measured value for the standard deviation for scenario average latency in this run (For this `jobId`). |\n | `complianceLatency` | Compliance | Latency compliance (latency metric vs latency KPI). |\n | `complianceErrors` | Compliance | Errors percentage compliance (Errors percentage metric vs Errors percentage KPI). |\n | `complianceThroughput` | Compliance | Capacity compliance (Capacity metric vs Capacity KPI). |\n | `complianceDeviation` | Compliance | Deviation compliance (Deviation metric vs Deviation KPI). |\n \n >If **silent mode** is needed to avoid info messages, you can add the flag `-q` at the end of the execution command line.\n\n## Operation `eval-job-results`\nReceives the json structure resulting from executing a scenario and evaluates its compliance by giving a tolerance level.\n\n### **Examples**\n\n- Receive the json structure resulting of executing an scenario and evaluates its compliance giving a tolerance level.\n\n ```sh\n python3 -m runfalconpipelineintegration run token \"nR5cCI6Ikicm9sZXMiOm51bGYXQiOjE2NzIyNDAsImV4cCI6MTY3MjI2MTQwMH0\" client \"My client Name\" application \"My application Name\" scenario \"My scenario code\"\n ```\n",
"bugtrack_url": null,
"license": "",
"summary": "Runfalcon tools to integrate with pipelines",
"version": "1.0.3",
"split_keywords": [],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "ada2fd3a157b00f5bf78de9c46fa24009d828739e6cc1d4523408117965622b7",
"md5": "18fe06c7c9e46ad1b6555ba2c48c1ddd",
"sha256": "b24d76be34927a43b5c2a5571d1c7f5b8664f734230707e9b2af87fda4554afb"
},
"downloads": -1,
"filename": "runfalcon_pipeline_integration-1.0.3-py3-none-any.whl",
"has_sig": false,
"md5_digest": "18fe06c7c9e46ad1b6555ba2c48c1ddd",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.6",
"size": 6432,
"upload_time": "2023-02-09T00:05:23",
"upload_time_iso_8601": "2023-02-09T00:05:23.679631Z",
"url": "https://files.pythonhosted.org/packages/ad/a2/fd3a157b00f5bf78de9c46fa24009d828739e6cc1d4523408117965622b7/runfalcon_pipeline_integration-1.0.3-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "84d98113a08254c404f10e9ec862925a675b29345f78ace07d29149aaec3edb2",
"md5": "42e365cdce99c9d6df7aed3fd025e968",
"sha256": "c3dd7a789e76464e0e38ddc6cc04c876e89e6999a4b08fc4156b3fda91575c6a"
},
"downloads": -1,
"filename": "runfalcon-pipeline-integration-1.0.3.tar.gz",
"has_sig": false,
"md5_digest": "42e365cdce99c9d6df7aed3fd025e968",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.6",
"size": 4780,
"upload_time": "2023-02-09T00:05:24",
"upload_time_iso_8601": "2023-02-09T00:05:24.735398Z",
"url": "https://files.pythonhosted.org/packages/84/d9/8113a08254c404f10e9ec862925a675b29345f78ace07d29149aaec3edb2/runfalcon-pipeline-integration-1.0.3.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2023-02-09 00:05:24",
"github": false,
"gitlab": false,
"bitbucket": false,
"lcname": "runfalcon-pipeline-integration"
}