import pm4py
from pm4py.objects.log.importer.xes import importer as xes_importer
from pm4py.algo.discovery.performance_spectrum import algorithm as performance_spectrum
from pm4py.visualization.performance_spectrum import visualizer as performance_spectrum_visualizer
from pm4py.algo.filtering.log.attributes import attributes_filter

# 1. Memuat log peristiwa dari file XES
log = xes_importer.apply("BPIC_2012_A.xes")

# 2. Mengidentifikasi aktivitas unik dalam log
activities = attributes_filter.get_attribute_values(log, "concept:name")
list_activities = list(activities.keys())

# 3. Menerapkan algoritma performance spectrum
# parameters = {performance_spectrum.Parameters.TIMESTAMP_KEY: 'Complete Timestamp'}
# ps = performance_spectrum.apply(log, list_activities, parameters=parameters)
ps = performance_spectrum.apply(log, list_activities)

print(ps)

# 4. Memvisualisasikan hasil performance spectrum
gviz = performance_spectrum_visualizer.apply(ps)
performance_spectrum_visualizer.view(gviz)


