# Using Expressions for Bandwidth and Burst Values in a Scheduler Profile

Expressions are combinations of constants and operators. You can specify some scheduler profile attributes using an expression, such as the shaping rate. All operations within expressions are performed using 64 bit unsigned math, resulting is a 32 bit, signed integer value.

Expressions consist of both operators and operand values. Operators are mathematical functions, and operand values are the inputs for the mathematical function. Operand values can be an integer. You specify an expression consisting of an operand, followed by zero or more [ operator, operand ] pairs.

You can specify bandwidth as a percentage and burst in milliseconds or bytes by using expressions with the shaping-rate, shared-shaping-rate, assured-rate, and weight commands.

When calculating constant shaping rates, use the following formula to translate burst values from bytes to milliseconds (ms):

```Time (ms) = [ (burstValueBytes * 8 bits/byte )/ Rate (bps) ] * 1000 (ms/s) ```

Using this formula, a 2 Mbps service with a 500 KB burst yields 4 Mb per 2 seconds or 2000 ms:

```[ (500000 * 8) / 2000000 ] * 1000 = 2000 ms```

The shaping rate is calculated when the QoS profile is attached based on the parameter instance. For example:

host1(config)# scheduler-profile sp-1mbs (config-scheduler-profile)# shaping-rate video-bandwidth % 100 burst 2000 milliseconds

When the shaping rate for video-bandwidth is 2 Mbps, the burst value is calculated using the following formula:

```Burst Value (bits) = Rate (bps) * [ Time (ms) / 1000 (ms/s) ]```

The burst value in bits is calculated as:

```Burst Value (bits) = 2000000 * [ 2000 / 1000 ] = 4000000 ```

The burst value in bytes is calculated as:

```Burst Value (bytes) = 4000000 / 8 = 500000 ```