class_docstr: DP sum combiner.
  
  It is just for demonstration how custom combiners API work.
class_docstr_tok: ["DP","sum","combiner",".","It","is","just","for","demonstration","how","custom","combiners","API","work","."]
docstr: Computes and returns the result of aggregation.
docstr_tok: ["Computes","and","returns","the","result","of","aggregation","."]
code: def compute_metrics(self, count):
      """Computes and returns the result of aggregation."""
      # Simple implementation of Laplace mechanism.
      sensitivity = (
          self._aggregate_params.max_contributions_per_partition
          * self._aggregate_params.max_partitions_contributed
      )
      eps = self._budget.eps
      laplace_b = sensitivity / eps
  
      # Warning: using a standard laplace noise is done only for simplicity, don't use it in production.
      # Better it's to use a standard PipelineDP metric Count.
      return np.random.laplace(count, laplace_b)
  
imports: from absl import app
  from absl import flags
  from apache_beam.runners.portability import fn_api_runner
  import pyspark
  from examples.movie_view_ratings.common_utils import *
  import pipeline_dp
  import numpy
label_desc: Use image node_id 3 for calling the CountCombiner obj's underlying member method code with example usage: obj.compute_metrics(count) and returns: np