Exporting Segments¶
Segments
objects can be exported into csv files for further analysis. Distill provides a simple function to do this:
export_segments
. This function will take in the path to place the new file along with a Segments
object and output
a new csv with each Segment
on a new line. Note that this function will not currently export user defined attributes that
are not inherently within a Segment
object. This function can be used as follows:
# Segments object
segments
# Export segments into a csv file
distill.export_segments("./test.csv", segments)
The above code will create a csv file in the current directory entitled “test.csv”. An example of what this file looks
like with two Segment
objects can be seen below:
Segment Name,Start Time,End Time,Number of Logs,Generate Field Name,Generate Matched Values,Segment Type
segment1,0,1,5,type,['click'],Segment_Type.GENERATE
segment2,2,3,6,type,['click'],Segment_Type.GENERATE
Visualization Examples¶
One specific benefit of exporting Segment
objects into a csv file is the ability for those Segment
objects to be
visualized using pre-existing visualization software. Through the returned csv file, we have been successful in building
visualizations through both Apache Superset and Plotly. Below are example visualizations from each software:
Apache Superset¶
By importing our Segment
csv file, we can create a variety of useful visualizations with Apache’s Superset.
Below are a few example screenshots from Superset:
Pie Chart indicating the different Segment types.
Bar Chart indicating the number of Segment objects with a given number of logs.
Timeline showing the Number of Logs by Segment start time.
Plotly¶
Plotly is another visualization tool that can be used to generate useful graphs and charts.
One chart that we found particularly useful was the ability to visualize Segment
objects within a Gantt chart. Below
is an example use of this chart.
To create the chart, the following code can be used assuming a csv file entitled example_segments.csv exists in the current
directory and this file represents start and end times in the python datetime
formatting:
import pandas as pd
import plotly.express as px
df = pd.read_csv("./example_segments.csv")
fig = px.timeline(df, x_start="Start Time", x_end="End Time", y="Segment Name", color="Number of Logs")
fig.update_yaxes(autorange="reversed")
fig.show()
The above code will create a Gantt chart similar to the screenshot shown below:
In addition, Plotly’s Dash can be used to create useful dashboards that display Plotly plots. An example of this can be seen in the video below: