stats.fxml 4.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <?import org.cryptomator.ui.controls.DataLabel?>
  3. <?import org.cryptomator.ui.controls.FormattedLabel?>
  4. <?import org.cryptomator.ui.controls.ThroughputLabel?>
  5. <?import javafx.geometry.Insets?>
  6. <?import javafx.scene.chart.AreaChart?>
  7. <?import javafx.scene.chart.NumberAxis?>
  8. <?import javafx.scene.control.Label?>
  9. <?import javafx.scene.Cursor?>
  10. <?import javafx.scene.Group?>
  11. <?import javafx.scene.layout.HBox?>
  12. <?import javafx.scene.layout.StackPane?>
  13. <?import javafx.scene.layout.VBox?>
  14. <?import javafx.scene.shape.Arc?>
  15. <HBox xmlns="http://javafx.com/javafx"
  16. xmlns:fx="http://javafx.com/fxml"
  17. fx:controller="org.cryptomator.ui.stats.VaultStatisticsController"
  18. prefWidth="800.0" spacing="12">
  19. <padding>
  20. <Insets topRightBottomLeft="12"/>
  21. </padding>
  22. <!-- Caching -->
  23. <VBox prefWidth="200" prefHeight="200">
  24. <StackPane>
  25. <Group>
  26. <Arc styleClass="cache-arc-background" centerX="100" centerY="100" radiusX="100" radiusY="100" startAngle="225" length="-270"/>
  27. <Arc styleClass="cache-arc-foreground" centerX="100" centerY="100" radiusX="100" radiusY="100" startAngle="225" length="${controller.cacheHitDegrees}"/>
  28. </Group>
  29. <VBox StackPane.alignment="CENTER" alignment="CENTER">
  30. <FormattedLabel styleClass="label-large" format="\%1.0f %%" arg1="${controller.cacheHitPercentage}"/>
  31. <Label text="%stats.cacheHitRate"/>
  32. </VBox>
  33. </StackPane>
  34. </VBox>
  35. <!-- Read -->
  36. <VBox prefWidth="300" prefHeight="300" spacing="6" alignment="CENTER">
  37. <ThroughputLabel styleClass="label-large" idleFormat="%stats.read.throughput.idle" kibsFormat="%stats.read.throughput.kibs" mibsFormat="%stats.read.throughput.mibs" bytesPerSecond="${controller.bpsRead}"/>
  38. <AreaChart fx:id="readChart" styleClass="io-stats" createSymbols="false" animated="false">
  39. <xAxis>
  40. <NumberAxis fx:id="readChartXAxis" styleClass="io-stats" autoRanging="false" forceZeroInRange="false" side="BOTTOM"/>
  41. </xAxis>
  42. <yAxis>
  43. <NumberAxis fx:id="readChartYAxis" styleClass="io-stats" autoRanging="false" forceZeroInRange="true" side="LEFT" tickUnit="Infinity"/>
  44. </yAxis>
  45. <cursor>
  46. <Cursor fx:constant="DEFAULT"/>
  47. </cursor>
  48. </AreaChart>
  49. <DataLabel byteFormat="%stats.read.total.data.none" kibFormat="%stats.read.total.data.kib" mibFormat="%stats.read.total.data.mib" gibFormat="%stats.read.total.data.gib" dataInBytes="${controller.totalBytesRead}"/>
  50. <DataLabel byteFormat="%stats.decr.total.data.none" kibFormat="%stats.decr.total.data.kib" mibFormat="%stats.decr.total.data.mib" gibFormat="%stats.decr.total.data.gib" dataInBytes="${controller.totalBytesDecrypted}"/>
  51. <FormattedLabel format="%stats.read.accessCount" arg1="${controller.filesRead}"/>
  52. </VBox>
  53. <!-- Write -->
  54. <VBox prefWidth="300" prefHeight="300" spacing="6" alignment="CENTER">
  55. <ThroughputLabel styleClass="label-large" idleFormat="%stats.write.throughput.idle" kibsFormat="%stats.write.throughput.kibs" mibsFormat="%stats.write.throughput.mibs" bytesPerSecond="${controller.bpsWritten}"/>
  56. <AreaChart fx:id="writeChart" styleClass="io-stats" createSymbols="false" animated="false">
  57. <xAxis>
  58. <NumberAxis fx:id="writeChartXAxis" styleClass="io-stats" autoRanging="false" forceZeroInRange="false" side="BOTTOM"/>
  59. </xAxis>
  60. <yAxis>
  61. <NumberAxis fx:id="writeChartYAxis" styleClass="io-stats" autoRanging="false" forceZeroInRange="true" side="LEFT" tickUnit="Infinity"/>
  62. </yAxis>
  63. <cursor>
  64. <Cursor fx:constant="DEFAULT"/>
  65. </cursor>
  66. </AreaChart>
  67. <DataLabel byteFormat="%stats.write.total.data.none" kibFormat="%stats.write.total.data.kib" mibFormat="%stats.write.total.data.mib" gibFormat="%stats.write.total.data.gib" dataInBytes="${controller.totalBytesWritten}"/>
  68. <DataLabel byteFormat="%stats.encr.total.data.none" kibFormat="%stats.encr.total.data.kib" mibFormat="%stats.encr.total.data.mib" gibFormat="%stats.encr.total.data.gib" dataInBytes="${controller.totalBytesEncrypted}"/>
  69. <FormattedLabel format="%stats.write.accessCount" arg1="${controller.filesWritten}"/>
  70. </VBox>
  71. </HBox>