This example is for Python, check our docs for the simple REST API and for other languages.
You can find these examples on GitHub here, and our full documentation here.

Step One - Install the hawkflow pip package

    # install the hawkflow pip package from your terminal
    pip install hawkflow

Step Two - Try timing some code with start and end

Save this code to a .py file and run it. You will see how easy it is to time any part of your code and then see the results
You can see the data you send on the Dashboard and on the Timed Data page
    import time
    from hawkflowclient.hawkflow_api import *

    # authenticate with your API key, you only need to do this once in your app
    hf = HawkflowAPI("")

    # start timing your code - pass through process (required) and meta (optional) parameters
    
    hf.start("your_process_name", "your_meta_data")

    # you would not normally add a sleep, this is just for the example
    
    time.sleep(5)

    # end timing this piece of code - process (required) and meta (optional) parameters should match the start
    
    hf.end("your_process_name", "your_meta_data")

Step Three - Try timing some code by using a decorator

Save this code to a .py file and run it. You will see how easy it is to time any part of your code and then see the results
You can see the data you send on the Dashboard and on the Timed Data page
    import time
    from hawkflowclient.hawkflow_decorators import *

    # use a decorator instead of HawkFLow start and end API calls
    # the hawkflow_meta parameter is optional, include it if you would like to send more information
    @HawkflowTimed(api_key="")
    def my_example_function(hawkflow_meta="your_meta_data"):
        # put any code in this function, here we are sleeping just for an example
        time.sleep(5)

    # run the code by calling your function
    my_example_function(hawkflow_meta="example meta data")

Step Four - Try sending some metrics

Save this code to a .py file and run it. You will see how easy it is to send any number through to HawkFlow and then see the results
You can see the metrics you send on the Dashboard and on the Metric Data page
    from hawkflowclient.hawkflow_api import *

    # authenticate with your API key, you only need to do this once in your app
    hf = HawkflowAPI("")

    # create a dictionary with some metrics
    my_metrics = {
        "kurtosis": 1441,
        "mean": 0.845,
        "users_count": 5465
    }

    # sending the metrics data to hawkflow
    
    hf.metrics("your_process_name", "your_meta_data", my_metrics)

Step Five - Try sending an exception

Save this code to a .py file and run it. You will see how easy it is to send an exception through to HawkFlow and then see the results
You can see the exception you send on the Exceptions page
    import traceback
    from hawkflowclient.hawkflow_api import *

    # authenticate with your API key, you only need to do this once in your app
    hf = HawkflowAPI("")

    try:
        # cause a divide by zero exception
        1/0
    except Exception as err:
        # sending the exception through to hawkflow
        # we are using traceback here, but you can use any technique you choose to capture your exception message
        
        hf.exception("your_process_name", "your_meta_data", traceback.format_exc())