New GUI graphics for L1 and L2 panels

Signed-off-by: colramos425 <colramos@amd.com>


[ROCm/rocprofiler-compute commit: 42edb1c559]
Cette révision appartient à :
colramos425
2023-01-09 16:52:27 -06:00
Parent ae3ac27d6e
révision 2d322d7e33
7 fichiers modifiés avec 227 ajouts et 44 suppressions
+42 -16
Voir le fichier
@@ -237,81 +237,107 @@ Panel Config:
id: 1604
title: L1D - L2 Transactions
header:
metric: Metric
xfer: Xfer
mean: Mean
coherency: Coherency
avg: Avg
min: Min
max: Max
unit: Unit
tips: Tips
metric:
NC - Read:
mean: None # No perf counter
xfer: Read
coherency: NC
avg: None # No perf counter
min: None # No perf counter
max: None # No perf counter
unit: (Req + $normUnit)
tips:
UC - Read:
mean: None # No perf counter
xfer: Read
coherency: UC
avg: None # No perf counter
min: None # No perf counter
max: None # No perf counter
unit: (Req + $normUnit)
tips:
CC - Read:
mean: None # No perf counter
xfer: Read
coherency: CC
avg: None # No perf counter
min: None # No perf counter
max: None # No perf counter
unit: (Req + $normUnit)
tips:
RW - Read:
mean: None # No perf counter
xfer: Read
coherency: RW
avg: None # No perf counter
min: None # No perf counter
max: None # No perf counter
unit: (Req + $normUnit)
tips:
RW - Write:
mean: None # No perf counter
xfer: Write
coherency: RW
avg: None # No perf counter
min: None # No perf counter
max: None # No perf counter
unit: (Req + $normUnit)
tips:
NC - Write:
mean: AVG((TCP_TCC_NC_WRITE_REQ_sum / $denom))
xfer: Write
coherency: NC
avg: AVG((TCP_TCC_NC_WRITE_REQ_sum / $denom))
min: MIN((TCP_TCC_NC_WRITE_REQ_sum / $denom))
max: MAX((TCP_TCC_NC_WRITE_REQ_sum / $denom))
unit: (Req + $normUnit)
tips:
NC - Write:
mean: AVG((TCP_TCC_NC_WRITE_REQ_sum / $denom))
min: MIN((TCP_TCC_NC_WRITE_REQ_sum / $denom))
max: MAX((TCP_TCC_NC_WRITE_REQ_sum / $denom))
CC - Write:
xfer: Write
coherency: CC
avg: AVG((TCP_TCC_CC_WRITE_REQ_sum / $denom))
min: MIN((TCP_TCC_CC_WRITE_REQ_sum / $denom))
max: MAX((TCP_TCC_CC_WRITE_REQ_sum / $denom))
unit: (Req + $normUnit)
tips:
UC - Write:
mean: AVG((TCP_TCC_UC_WRITE_REQ_sum / $denom))
xfer: Write
coherency: UC
avg: AVG((TCP_TCC_UC_WRITE_REQ_sum / $denom))
min: MIN((TCP_TCC_UC_WRITE_REQ_sum / $denom))
max: MAX((TCP_TCC_UC_WRITE_REQ_sum / $denom))
unit: (Req + $normUnit)
tips:
NC - Atomic:
mean: None # No perf counter
xfer: Atomic
coherency: NC
avg: None # No perf counter
min: None # No perf counter
max: None # No perf counter
unit: (Req + $normUnit)
tips:
UC - Atomic:
mean: None # No perf counter
xfer: Atomic
coherency: UC
avg: None # No perf counter
min: None # No perf counter
max: None # No perf counter
unit: (Req + $normUnit)
tips:
CC - Atomic:
mean: None # No perf counter
xfer: Atomic
coherency: CC
avg: None # No perf counter
min: None # No perf counter
max: None # No perf counter
unit: (Req + $normUnit)
tips:
RW - Atomic:
mean: None # No perf counter
xfer: Atomic
coherency: RW
avg: None # No perf counter
min: None # No perf counter
max: None # No perf counter
unit: (Req + $normUnit)
@@ -294,6 +294,8 @@ Panel Config:
title: L2 - EA Interface Stalls
header:
metric: Metric
type: Type
transaction: Transaction
avg: Avg
min: Min
max: Max
@@ -301,42 +303,56 @@ Panel Config:
tips: Tips
metric:
Read - Remote Socket Stall:
type: Remote Socket Stall
transaction: Read
avg: AVG((TCC_EA_RDREQ_IO_CREDIT_STALL_sum / $denom))
min: MIN((TCC_EA_RDREQ_IO_CREDIT_STALL_sum / $denom))
max: MAX((TCC_EA_RDREQ_IO_CREDIT_STALL_sum / $denom))
unit: (Req + $normUnit)
tips:
Read - Peer GCD Stall:
type: Peer GCD Stall
transaction: Read
avg: AVG((TCC_EA_RDREQ_GMI_CREDIT_STALL_sum / $denom))
min: MIN((TCC_EA_RDREQ_GMI_CREDIT_STALL_sum / $denom))
max: MAX((TCC_EA_RDREQ_GMI_CREDIT_STALL_sum / $denom))
unit: (Req + $normUnit)
tips:
Read - HBM Stall:
type: HBM Stall
transaction: Read
avg: AVG((TCC_EA_RDREQ_DRAM_CREDIT_STALL_sum / $denom))
min: MIN((TCC_EA_RDREQ_DRAM_CREDIT_STALL_sum / $denom))
max: MAX((TCC_EA_RDREQ_DRAM_CREDIT_STALL_sum / $denom))
unit: (Req + $normUnit)
tips:
Write - Remote Socket Stall:
type: Remote Socket Stall
transaction: Write
avg: AVG((TCC_EA_WRREQ_IO_CREDIT_STALL_sum / $denom))
min: MIN((TCC_EA_WRREQ_IO_CREDIT_STALL_sum / $denom))
max: MAX((TCC_EA_WRREQ_IO_CREDIT_STALL_sum / $denom))
unit: (Req + $normUnit)
tips:
Write - Peer GCD Stall:
type: Peer GCD Stall
transaction: Write
avg: AVG((TCC_EA_WRREQ_GMI_CREDIT_STALL_sum / $denom))
min: MIN((TCC_EA_WRREQ_GMI_CREDIT_STALL_sum / $denom))
max: MAX((TCC_EA_WRREQ_GMI_CREDIT_STALL_sum / $denom))
unit: (Req + $normUnit)
tips:
Write - HBM Stall:
type: HBM Stall
transaction: Write
avg: AVG((TCC_EA_WRREQ_DRAM_CREDIT_STALL_sum / $denom))
min: MIN((TCC_EA_WRREQ_DRAM_CREDIT_STALL_sum / $denom))
max: MAX((TCC_EA_WRREQ_DRAM_CREDIT_STALL_sum / $denom))
unit: (Req + $normUnit)
tips:
Write - Credit Starvation:
type: Credit Starvation
transaction: Write
avg: AVG((TCC_TOO_MANY_EA_WRREQS_STALL_sum / $denom))
min: MIN((TCC_TOO_MANY_EA_WRREQS_STALL_sum / $denom))
max: MAX((TCC_TOO_MANY_EA_WRREQS_STALL_sum / $denom))
+39 -13
Voir le fichier
@@ -237,81 +237,107 @@ Panel Config:
id: 1604
title: L1D - L2 Transactions
header:
metric: Metric
xfer: Xfer
mean: Mean
coherency: Coherency
avg: Avg
min: Min
max: Max
unit: Unit
tips: Tips
metric:
NC - Read:
mean: AVG((TCP_TCC_NC_READ_REQ_sum / $denom))
xfer: Read
coherency: NC
avg: AVG((TCP_TCC_NC_READ_REQ_sum / $denom))
min: MIN((TCP_TCC_NC_READ_REQ_sum / $denom))
max: MAX((TCP_TCC_NC_READ_REQ_sum / $denom))
unit: (Req + $normUnit)
tips:
UC - Read:
mean: AVG((TCP_TCC_UC_READ_REQ_sum / $denom))
xfer: Read
coherency: UC
avg: AVG((TCP_TCC_UC_READ_REQ_sum / $denom))
min: MIN((TCP_TCC_UC_READ_REQ_sum / $denom))
max: MAX((TCP_TCC_UC_READ_REQ_sum / $denom))
unit: (Req + $normUnit)
tips:
CC - Read:
mean: AVG((TCP_TCC_CC_READ_REQ_sum / $denom))
xfer: Read
coherency: CC
avg: AVG((TCP_TCC_CC_READ_REQ_sum / $denom))
min: MIN((TCP_TCC_CC_READ_REQ_sum / $denom))
max: MAX((TCP_TCC_CC_READ_REQ_sum / $denom))
unit: (Req + $normUnit)
tips:
RW - Read:
mean: AVG((TCP_TCC_RW_READ_REQ_sum / $denom))
xfer: Read
coherency: RW
avg: AVG((TCP_TCC_RW_READ_REQ_sum / $denom))
min: MIN((TCP_TCC_RW_READ_REQ_sum / $denom))
max: MAX((TCP_TCC_RW_READ_REQ_sum / $denom))
unit: (Req + $normUnit)
tips:
RW - Write:
mean: AVG((TCP_TCC_RW_WRITE_REQ_sum / $denom))
xfer: Write
coherency: RW
avg: AVG((TCP_TCC_RW_WRITE_REQ_sum / $denom))
min: MIN((TCP_TCC_RW_WRITE_REQ_sum / $denom))
max: MAX((TCP_TCC_RW_WRITE_REQ_sum / $denom))
unit: (Req + $normUnit)
tips:
NC - Write:
mean: AVG((TCP_TCC_NC_WRITE_REQ_sum / $denom))
xfer: Write
coherency: NC
avg: AVG((TCP_TCC_NC_WRITE_REQ_sum / $denom))
min: MIN((TCP_TCC_NC_WRITE_REQ_sum / $denom))
max: MAX((TCP_TCC_NC_WRITE_REQ_sum / $denom))
unit: (Req + $normUnit)
tips:
UC - Write:
mean: AVG((TCP_TCC_UC_WRITE_REQ_sum / $denom))
xfer: Write
coherency: UC
avg: AVG((TCP_TCC_UC_WRITE_REQ_sum / $denom))
min: MIN((TCP_TCC_UC_WRITE_REQ_sum / $denom))
max: MAX((TCP_TCC_UC_WRITE_REQ_sum / $denom))
unit: (Req + $normUnit)
tips:
CC - Write:
mean: AVG((TCP_TCC_CC_WRITE_REQ_sum / $denom))
xfer: Write
coherency: CC
avg: AVG((TCP_TCC_CC_WRITE_REQ_sum / $denom))
min: MIN((TCP_TCC_CC_WRITE_REQ_sum / $denom))
max: MAX((TCP_TCC_CC_WRITE_REQ_sum / $denom))
unit: (Req + $normUnit)
tips:
NC - Atomic:
mean: AVG((TCP_TCC_NC_ATOMIC_REQ_sum / $denom))
xfer: Atomic
coherency: NC
avg: AVG((TCP_TCC_NC_ATOMIC_REQ_sum / $denom))
min: MIN((TCP_TCC_NC_ATOMIC_REQ_sum / $denom))
max: MAX((TCP_TCC_NC_ATOMIC_REQ_sum / $denom))
unit: (Req + $normUnit)
tips:
UC - Atomic:
mean: AVG((TCP_TCC_UC_ATOMIC_REQ_sum / $denom))
xfer: Atomic
coherency: UC
avg: AVG((TCP_TCC_UC_ATOMIC_REQ_sum / $denom))
min: MIN((TCP_TCC_UC_ATOMIC_REQ_sum / $denom))
max: MAX((TCP_TCC_UC_ATOMIC_REQ_sum / $denom))
unit: (Req + $normUnit)
tips:
CC - Atomic:
mean: AVG((TCP_TCC_CC_ATOMIC_REQ_sum / $denom))
xfer: Atomic
coherency: CC
avg: AVG((TCP_TCC_CC_ATOMIC_REQ_sum / $denom))
min: MIN((TCP_TCC_CC_ATOMIC_REQ_sum / $denom))
max: MAX((TCP_TCC_CC_ATOMIC_REQ_sum / $denom))
unit: (Req + $normUnit)
tips:
RW - Atomic:
mean: AVG((TCP_TCC_RW_ATOMIC_REQ_sum / $denom))
xfer: Atomic
coherency: RW
avg: AVG((TCP_TCC_RW_ATOMIC_REQ_sum / $denom))
min: MIN((TCP_TCC_RW_ATOMIC_REQ_sum / $denom))
max: MAX((TCP_TCC_RW_ATOMIC_REQ_sum / $denom))
unit: (Req + $normUnit)
@@ -294,6 +294,8 @@ Panel Config:
title: L2 - EA Interface Stalls
header:
metric: Metric
type: Type
transaction: Transaction
avg: Avg
min: Min
max: Max
@@ -301,42 +303,56 @@ Panel Config:
tips: Tips
metric:
Read - Remote Socket Stall:
type: Remote Socket Stall
transaction: Read
avg: AVG((TCC_EA_RDREQ_IO_CREDIT_STALL_sum / $denom))
min: MIN((TCC_EA_RDREQ_IO_CREDIT_STALL_sum / $denom))
max: MAX((TCC_EA_RDREQ_IO_CREDIT_STALL_sum / $denom))
unit: (Req + $normUnit)
tips:
Read - Peer GCD Stall:
type: Peer GCD Stall
transaction: Read
avg: AVG((TCC_EA_RDREQ_GMI_CREDIT_STALL_sum / $denom))
min: MIN((TCC_EA_RDREQ_GMI_CREDIT_STALL_sum / $denom))
max: MAX((TCC_EA_RDREQ_GMI_CREDIT_STALL_sum / $denom))
unit: (Req + $normUnit)
tips:
Read - HBM Stall:
type: HBM Stall
transaction: Read
avg: AVG((TCC_EA_RDREQ_DRAM_CREDIT_STALL_sum / $denom))
min: MIN((TCC_EA_RDREQ_DRAM_CREDIT_STALL_sum / $denom))
max: MAX((TCC_EA_RDREQ_DRAM_CREDIT_STALL_sum / $denom))
unit: (Req + $normUnit)
tips:
Write - Remote Socket Stall:
type: Remote Socket Stall
transaction: Write
avg: AVG((TCC_EA_WRREQ_IO_CREDIT_STALL_sum / $denom))
min: MIN((TCC_EA_WRREQ_IO_CREDIT_STALL_sum / $denom))
max: MAX((TCC_EA_WRREQ_IO_CREDIT_STALL_sum / $denom))
unit: (Req + $normUnit)
tips:
Write - Peer GCD Stall:
type: Peer GCD Stall
transaction: Write
avg: AVG((TCC_EA_WRREQ_GMI_CREDIT_STALL_sum / $denom))
min: MIN((TCC_EA_WRREQ_GMI_CREDIT_STALL_sum / $denom))
max: MAX((TCC_EA_WRREQ_GMI_CREDIT_STALL_sum / $denom))
unit: (Req + $normUnit)
tips:
Write - HBM Stall:
type: HBM Stall
transaction: Write
avg: AVG((TCC_EA_WRREQ_DRAM_CREDIT_STALL_sum / $denom))
min: MIN((TCC_EA_WRREQ_DRAM_CREDIT_STALL_sum / $denom))
max: MAX((TCC_EA_WRREQ_DRAM_CREDIT_STALL_sum / $denom))
unit: (Req + $normUnit)
tips:
Write - Credit Starvation:
type: Credit Starvation
transaction: Write
avg: AVG((TCC_TOO_MANY_EA_WRREQS_STALL_sum / $denom))
min: MIN((TCC_TOO_MANY_EA_WRREQS_STALL_sum / $denom))
max: MAX((TCC_TOO_MANY_EA_WRREQS_STALL_sum / $denom))
+39 -13
Voir le fichier
@@ -237,81 +237,107 @@ Panel Config:
id: 1604
title: L1D - L2 Transactions
header:
metric: Metric
xfer: Xfer
mean: Mean
coherency: Coherency
avg: Avg
min: Min
max: Max
unit: Unit
tips: Tips
metric:
NC - Read:
mean: AVG((TCP_TCC_NC_READ_REQ_sum / $denom))
xfer: Read
coherency: NC
avg: AVG((TCP_TCC_NC_READ_REQ_sum / $denom))
min: MIN((TCP_TCC_NC_READ_REQ_sum / $denom))
max: MAX((TCP_TCC_NC_READ_REQ_sum / $denom))
unit: (Req + $normUnit)
tips:
UC - Read:
mean: AVG((TCP_TCC_UC_READ_REQ_sum / $denom))
xfer: Read
coherency: UC
avg: AVG((TCP_TCC_UC_READ_REQ_sum / $denom))
min: MIN((TCP_TCC_UC_READ_REQ_sum / $denom))
max: MAX((TCP_TCC_UC_READ_REQ_sum / $denom))
unit: (Req + $normUnit)
tips:
CC - Read:
mean: AVG((TCP_TCC_CC_READ_REQ_sum / $denom))
xfer: Read
coherency: CC
avg: AVG((TCP_TCC_CC_READ_REQ_sum / $denom))
min: MIN((TCP_TCC_CC_READ_REQ_sum / $denom))
max: MAX((TCP_TCC_CC_READ_REQ_sum / $denom))
unit: (Req + $normUnit)
tips:
RW - Read:
mean: AVG((TCP_TCC_RW_READ_REQ_sum / $denom))
xfer: Read
coherency: RW
avg: AVG((TCP_TCC_RW_READ_REQ_sum / $denom))
min: MIN((TCP_TCC_RW_READ_REQ_sum / $denom))
max: MAX((TCP_TCC_RW_READ_REQ_sum / $denom))
unit: (Req + $normUnit)
tips:
RW - Write:
mean: AVG((TCP_TCC_RW_WRITE_REQ_sum / $denom))
xfer: Write
coherency: RW
avg: AVG((TCP_TCC_RW_WRITE_REQ_sum / $denom))
min: MIN((TCP_TCC_RW_WRITE_REQ_sum / $denom))
max: MAX((TCP_TCC_RW_WRITE_REQ_sum / $denom))
unit: (Req + $normUnit)
tips:
NC - Write:
mean: AVG((TCP_TCC_NC_WRITE_REQ_sum / $denom))
xfer: Write
coherency: NC
avg: AVG((TCP_TCC_NC_WRITE_REQ_sum / $denom))
min: MIN((TCP_TCC_NC_WRITE_REQ_sum / $denom))
max: MAX((TCP_TCC_NC_WRITE_REQ_sum / $denom))
unit: (Req + $normUnit)
tips:
UC - Write:
mean: AVG((TCP_TCC_UC_WRITE_REQ_sum / $denom))
xfer: Write
coherency: UC
avg: AVG((TCP_TCC_UC_WRITE_REQ_sum / $denom))
min: MIN((TCP_TCC_UC_WRITE_REQ_sum / $denom))
max: MAX((TCP_TCC_UC_WRITE_REQ_sum / $denom))
unit: (Req + $normUnit)
tips:
CC - Write:
mean: AVG((TCP_TCC_CC_WRITE_REQ_sum / $denom))
xfer: Write
coherency: CC
avg: AVG((TCP_TCC_CC_WRITE_REQ_sum / $denom))
min: MIN((TCP_TCC_CC_WRITE_REQ_sum / $denom))
max: MAX((TCP_TCC_CC_WRITE_REQ_sum / $denom))
unit: (Req + $normUnit)
tips:
NC - Atomic:
mean: AVG((TCP_TCC_NC_ATOMIC_REQ_sum / $denom))
xfer: Atomic
coherency: NC
avg: AVG((TCP_TCC_NC_ATOMIC_REQ_sum / $denom))
min: MIN((TCP_TCC_NC_ATOMIC_REQ_sum / $denom))
max: MAX((TCP_TCC_NC_ATOMIC_REQ_sum / $denom))
unit: (Req + $normUnit)
tips:
UC - Atomic:
mean: AVG((TCP_TCC_UC_ATOMIC_REQ_sum / $denom))
xfer: Atomic
coherency: UC
avg: AVG((TCP_TCC_UC_ATOMIC_REQ_sum / $denom))
min: MIN((TCP_TCC_UC_ATOMIC_REQ_sum / $denom))
max: MAX((TCP_TCC_UC_ATOMIC_REQ_sum / $denom))
unit: (Req + $normUnit)
tips:
CC - Atomic:
mean: AVG((TCP_TCC_CC_ATOMIC_REQ_sum / $denom))
xfer: Atomic
coherency: CC
avg: AVG((TCP_TCC_CC_ATOMIC_REQ_sum / $denom))
min: MIN((TCP_TCC_CC_ATOMIC_REQ_sum / $denom))
max: MAX((TCP_TCC_CC_ATOMIC_REQ_sum / $denom))
unit: (Req + $normUnit)
tips:
RW - Atomic:
mean: AVG((TCP_TCC_RW_ATOMIC_REQ_sum / $denom))
xfer: Atomic
coherency: RW
avg: AVG((TCP_TCC_RW_ATOMIC_REQ_sum / $denom))
min: MIN((TCP_TCC_RW_ATOMIC_REQ_sum / $denom))
max: MAX((TCP_TCC_RW_ATOMIC_REQ_sum / $denom))
unit: (Req + $normUnit)
@@ -294,6 +294,8 @@ Panel Config:
title: L2 - Fabric Interface Stalls
header:
metric: Metric
type: Type
transaction: Transaction
avg: Avg
min: Min
max: Max
@@ -301,42 +303,56 @@ Panel Config:
tips: Tips
metric:
Read - Remote Socket Stall:
type: Remote Socket Stall
transaction: Read
avg: AVG((TCC_EA_RDREQ_IO_CREDIT_STALL_sum / $denom))
min: MIN((TCC_EA_RDREQ_IO_CREDIT_STALL_sum / $denom))
max: MAX((TCC_EA_RDREQ_IO_CREDIT_STALL_sum / $denom))
unit: (Req + $normUnit)
tips:
Read - Peer GCD Stall:
type: Peer GCD Stall
transaction: Read
avg: AVG((TCC_EA_RDREQ_GMI_CREDIT_STALL_sum / $denom))
min: MIN((TCC_EA_RDREQ_GMI_CREDIT_STALL_sum / $denom))
max: MAX((TCC_EA_RDREQ_GMI_CREDIT_STALL_sum / $denom))
unit: (Req + $normUnit)
tips:
Read - HBM Stall:
type: HBM Stall
transaction: Read
avg: AVG((TCC_EA_RDREQ_DRAM_CREDIT_STALL_sum / $denom))
min: MIN((TCC_EA_RDREQ_DRAM_CREDIT_STALL_sum / $denom))
max: MAX((TCC_EA_RDREQ_DRAM_CREDIT_STALL_sum / $denom))
unit: (Req + $normUnit)
tips:
Write - Remote Socket Stall:
type: Remote Socket Stall
transaction: Write
avg: AVG((TCC_EA_WRREQ_IO_CREDIT_STALL_sum / $denom))
min: MIN((TCC_EA_WRREQ_IO_CREDIT_STALL_sum / $denom))
max: MAX((TCC_EA_WRREQ_IO_CREDIT_STALL_sum / $denom))
unit: (Req + $normUnit)
tips:
Write - Peer GCD Stall:
type: Peer GCD Stall
transaction: Write
avg: AVG((TCC_EA_WRREQ_GMI_CREDIT_STALL_sum / $denom))
min: MIN((TCC_EA_WRREQ_GMI_CREDIT_STALL_sum / $denom))
max: MAX((TCC_EA_WRREQ_GMI_CREDIT_STALL_sum / $denom))
unit: (Req + $normUnit)
tips:
Write - HBM Stall:
type: HBM Stall
transaction: Write
avg: AVG((TCC_EA_WRREQ_DRAM_CREDIT_STALL_sum / $denom))
min: MIN((TCC_EA_WRREQ_DRAM_CREDIT_STALL_sum / $denom))
max: MAX((TCC_EA_WRREQ_DRAM_CREDIT_STALL_sum / $denom))
unit: (Req + $normUnit)
tips:
Write - Credit Starvation:
type: Credit Starvation
transaction: Write
avg: AVG((TCC_TOO_MANY_EA_WRREQS_STALL_sum / $denom))
min: MIN((TCC_TOO_MANY_EA_WRREQS_STALL_sum / $denom))
max: MAX((TCC_TOO_MANY_EA_WRREQS_STALL_sum / $denom))
+59 -2
Voir le fichier
@@ -60,7 +60,9 @@ barchart_elements = [
1301, # Instruc cache SOL
1401, # SL1D cache SOL
1601, # VL1D cache SOL
1604, # L1D-L2 Transactions
1701, # L2 cache SOL
1704, # L1-Fabric Interface Stalls
]
@@ -70,6 +72,25 @@ def filter_df(column, df, filt):
filt_df = df.loc[df[schema.pmc_perf_file_prefix][column].astype(str).isin(filt)]
return filt_df
def multi_bar_chart(table_id, display_df):
if table_id == 1604:
nested_bar = {
'NC': {},
'UC': {},
'RW': {},
'CC': {}
}
for index, row in display_df.iterrows():
nested_bar[row["Coherency"]][row["Xfer"]] = row["Avg"]
if table_id == 1704:
nested_bar = {
'Read': {},
'Write': {}
}
for index, row in display_df.iterrows():
nested_bar[row["Transaction"]][row["Type"]] = row["Avg"]
return nested_bar
def discrete_background_color_bins(df, n_bins=5, columns="all"):
@@ -150,6 +171,30 @@ def build_bar_chart(display_df, table_config):
)
)
# Multi bar chart
elif table_config["id"] == 1604 or table_config["id"] == 1704:
display_df["Avg"] = [
x.astype(int) if x != "" else int(0) for x in display_df["Avg"]
]
df_unit = display_df["Unit"][0]
nested_bar = multi_bar_chart(table_config["id"], display_df)
# generate chart for each coherency
for group, metric in nested_bar.items():
d_figs.append(
px.bar(
title=group,
x=metric.values(),
y=metric.keys(),
labels={
"x": df_unit,
"y": ""
},
text=metric.values(),
orientation="h",
height=200
).update_xaxes(showgrid=False, rangemode="nonnegative").update_yaxes(showgrid=False).update_layout(title_x=0.5)
)
# Speed-of-light bar chart
else:
display_df["Value"] = [
@@ -434,10 +479,22 @@ def build_layout(
# a) Barchart
if table_config["id"] in barchart_elements:
d_figs = build_bar_chart(display_df, table_config)
for fig in d_figs:
# Smaller formatting if barchart yeilds several graphs
if len(d_figs) > 2:
temp_obj = []
for fig in d_figs:
temp_obj.append(
html.Div(className="float-child", children=[dcc.Graph(figure=fig, style={"margin": "2%"})])
)
content.append(
dcc.Graph(figure=fig, style={"margin": "2%"})
html.Div(className="float-container", children=temp_obj)
)
# Normal formatting if < 2 graphs
else:
for fig in d_figs:
content.append(
dcc.Graph(figure=fig, style={"margin": "2%"})
)
# B) Tablechart
else:
d_figs = build_table_chart(