{"_id":"571a11b2ac1e2e0e001836ad","project":"56a1f77442dfda0d00046285","user":"56a1f7423845200d0066d71b","__v":6,"category":{"_id":"56af19929d32e30d0006d2ce","pages":["56af19d9bc304a0d00ace0de"],"project":"56a1f77442dfda0d00046285","version":"56a1f77542dfda0d00046288","__v":1,"sync":{"url":"","isSync":false},"reference":false,"createdAt":"2016-02-01T08:38:42.993Z","from_sync":false,"order":6,"slug":"abou","title":"About"},"version":{"_id":"56a1f77542dfda0d00046288","__v":9,"project":"56a1f77442dfda0d00046285","createdAt":"2016-01-22T09:33:41.397Z","releaseDate":"2016-01-22T09:33:41.397Z","categories":["56a1f77542dfda0d00046289","56a1fdf442dfda0d00046294","56a2079f0067c00d00a2f955","56a20bdf8b2e6f0d0018ea84","56a3e78a94ec0a0d00b39fed","56af19929d32e30d0006d2ce","5721f4e9dcfa860e005bef98","574e870be892bf0e004fde0d","5832fdcdb32d820f0072e12f"],"is_deprecated":false,"is_hidden":false,"is_beta":false,"is_stable":true,"codename":"","version_clean":"1.0.0","version":"1.0"},"parentDoc":null,"updates":[],"next":{"pages":[],"description":""},"createdAt":"2016-04-22T11:57:38.632Z","link_external":false,"link_url":"","githubsync":"","sync_unique":"","hidden":false,"api":{"settings":"","results":{"codes":[]},"auth":"required","params":[],"url":""},"isReference":false,"order":0,"body":"# What is a process\n\nTrace has a process based pricing model. Each running process reports separately to our servers. We analyze and store the received data to create transactions, show metrics, send alerts and provide insights.\n[block:callout]\n{\n  \"type\": \"info\",\n  \"body\": \"Trace defines a process as a single unit of running code that reports data to us. For example, if you run a single instance of your application we count it as one process.\",\n  \"title\": \"Process\"\n}\n[/block]\n## Multiple instances\n\nWith cloud providers like Heroku, it’s possible to run multiple instances from the same application to distribute your load between them. In this case, each running instance will count as a separate process. For example, if on Heroku you have three running instances from the same application it counts as three processes. If the same application has two web processes and four worker processes we will count it as six processes.\n\n## Node.js cluster module and process management\n[block:callout]\n{\n  \"type\": \"info\",\n  \"body\": \"A single instance of Node.js runs in a single thread. To take advantage of multi-core systems developers have the possibility to launch a cluster of Node.js processes to handle the load. Read more about the topic on [nodejs.org.](https://nodejs.org/api/cluster.html#cluster_cluster)\",\n  \"title\": \"Cluster\"\n}\n[/block]\nIf your application uses the [cluster module](https://nodejs.org/api/cluster.html) or other process management solutions to have multiple running processes on the same server we count it as per process. For example, if you have a machine with four CPU cores and you would like to run four processes from the same application to take an advantage of your machine, we count it as four processes.\n\n## Changing process numbers\n\nOur pricing model is based on fair pricing, which means that you are free to change the number of your running processes any time - we will follow your changes and charge only for the used hours. For example, if you scale your application from four processes to six at the middle of the month we will charge only for the used hours of your processes.\n\nIf you use solutions uses technic like zero-downtime deployment and you run multiple processes from your application for a couple of minutes, we will charge for both running processes until the old deployment reports to our servers.","excerpt":"Definition​ of process in Trace","slug":"what-is-a-process","type":"basic","title":"What is a process"}

What is a process

Definition​ of process in Trace

# What is a process Trace has a process based pricing model. Each running process reports separately to our servers. We analyze and store the received data to create transactions, show metrics, send alerts and provide insights. [block:callout] { "type": "info", "body": "Trace defines a process as a single unit of running code that reports data to us. For example, if you run a single instance of your application we count it as one process.", "title": "Process" } [/block] ## Multiple instances With cloud providers like Heroku, it’s possible to run multiple instances from the same application to distribute your load between them. In this case, each running instance will count as a separate process. For example, if on Heroku you have three running instances from the same application it counts as three processes. If the same application has two web processes and four worker processes we will count it as six processes. ## Node.js cluster module and process management [block:callout] { "type": "info", "body": "A single instance of Node.js runs in a single thread. To take advantage of multi-core systems developers have the possibility to launch a cluster of Node.js processes to handle the load. Read more about the topic on [nodejs.org.](https://nodejs.org/api/cluster.html#cluster_cluster)", "title": "Cluster" } [/block] If your application uses the [cluster module](https://nodejs.org/api/cluster.html) or other process management solutions to have multiple running processes on the same server we count it as per process. For example, if you have a machine with four CPU cores and you would like to run four processes from the same application to take an advantage of your machine, we count it as four processes. ## Changing process numbers Our pricing model is based on fair pricing, which means that you are free to change the number of your running processes any time - we will follow your changes and charge only for the used hours. For example, if you scale your application from four processes to six at the middle of the month we will charge only for the used hours of your processes. If you use solutions uses technic like zero-downtime deployment and you run multiple processes from your application for a couple of minutes, we will charge for both running processes until the old deployment reports to our servers.