Details

    • Type: Enhancement
    • Status: Closed (View Workflow)
    • Priority: Major
    • Resolution: Out of Date
    • Affects Version/s: None
    • Fix Version/s: 0.3.4
    • Component/s: None
    • Labels:
      None

      Description

      There are two methods in MetricsServiceCassandra for inserting metric data,

      ListenableFuture<Void> addNumericData(List<NumericMetric> metrics)
      
      ListenableFuture<Void> addAvailabilityData(List<AvailabilityMetric> metrics)
      

      Each method takes a list of metrics, and each metric can include one or more data points. We perform a batch insert for each metric. So if the metrics argument is of size N, then N batch inserts are performed. We want to batch writes of data points belonging to the same metric makes whenever possible. Since those writes go to the same partition, Cassandra will perform those mutations efficiently and atomically.

      Batching writes from multiple metrics can improve write performance, substantially in some cases. These methods should be refactored as necessary to batch writes across multiple metrics. There is the question of optimal batch size, but I do not think we need to try and answer that question with this ticket.

        Gliffy Diagrams

          Attachments

            Issue Links

              Activity

                People

                • Assignee:
                  tsegismont Thomas Segismont
                  Reporter:
                  john.sanda John Sanda
                • Votes:
                  0 Vote for this issue
                  Watchers:
                  2 Start watching this issue

                  Dates

                  • Created:
                    Updated:
                    Resolved: