Following assumes an example rate of $1 per hour billing rate per host.
What is my bill if:
1 JVM is running continuously for 2 days
$1 per hour * 48 hours = $48
1 JVM is running continuously for 1 hour 45 mins
$1 per hour * 2 hours = $2
DripStat charges on an hourly basis.
So even though only 45 mins of the second hour was used, you were charged for an entire hour.
2 JVMs are running on a single host for 1 hour
$1 per hour * 1 hour = $1
DripStat charges on a per host basis.
So even though there were multiple JVMs, since they were running on a single host, you were only charged for 1.
Note that this is different for docker instances, since docker hides the underlying host. See question at the bottom for details.
1 JVM runs for 15 mins and then shuts down. Then it starts up again and runs for 42 mins.
$1 per hour * 2 hour = $2
You are charged for 2 hours here.
The time interval for a host is considered when a jvm starts up and starts sending data.
In this case, there is only 1 jvm on the host, which starts sending data twice.
In this case, the first startup/shutdown constitutes 1 hour and the next startup/shutdown the 2nd hour.
Note the difference between this question and the one below:
On a single host, 2 JVMs are running.
1 of them runs continuously for 1 hour.
The 2nd JVM runs for 15 mins and then shuts down. Then it starts up again and runs for 45 mins.
$1 per hour * 1 hour = $1
Only 1 hour is charged here even though the scenario for the 2nd JVM is the same as the previous question.
This is because DripStat charges on a per host basis.
In the previous question, the host stopped sending data after 15 mins, so its 1 hour was counted after the jvm shutdown.
In this case, even though 1 jvm shuts down, the other is still active, thus the 'host' is not inactive to DripStat.
What if I am using Docker?
From Java APM Agent 11.2.0 onwards:
You are billed based on size of underlying host, regardless of the number of containers you are using.
However, make sure your container deployment follows the instructions here to set the correct environment variables for the container.
If the environment variables are not set, you will be billed per container.
Before Agent 11.2.0:
Each docker container usually registers itself as a separate host, since Docker's goal is to hide the underlying guest host from the application running inside it.
Since DripStat is an automated system, you will be charged for each container as if it were an individual host.
If you are running agent 11.1 or higher, the size of the 'instance' inside DripStat will be determined by the memory assigned to the container. If you are instead running an older version of the agent (<11.1), the size assigned to the container will be the size of the underlying guest host. Details here.
We recommend talking to DripStat Sales and buying an annual license if you are using Docker.