Skip to content
Closed
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Next Next commit
Have instrumentation use uuid & standard logger tags.
  • Loading branch information
MrBago committed Mar 30, 2018
commit bef1084283f66fcd3ec5be3d14f30b206b7c45a5
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@

package org.apache.spark.ml.util

import java.util.UUID
import java.util.concurrent.atomic.AtomicLong

import org.json4s._
Expand All @@ -42,7 +43,7 @@ import org.apache.spark.sql.Dataset
private[spark] class Instrumentation[E <: Estimator[_]] private (
estimator: E, dataset: RDD[_]) extends Logging {

private val id = Instrumentation.counter.incrementAndGet()
private val id = UUID.randomUUID()
private val prefix = {
val className = estimator.getClass.getSimpleName
s"$className-${estimator.uid}-${dataset.hashCode()}-$id: "
Expand Down Expand Up @@ -77,11 +78,11 @@ private[spark] class Instrumentation[E <: Estimator[_]] private (
}

def logNumFeatures(num: Long): Unit = {
log(compact(render("numFeatures" -> num)))
logNamedValue(Instrumentation.loggerTags.numFeatures, num)
}

def logNumClasses(num: Long): Unit = {
log(compact(render("numClasses" -> num)))
logNamedValue(Instrumentation.loggerTags.numClasses, num)
}

/**
Expand All @@ -107,7 +108,11 @@ private[spark] class Instrumentation[E <: Estimator[_]] private (
* Some common methods for logging information about a training session.
*/
private[spark] object Instrumentation {
private val counter = new AtomicLong(0)

object loggerTags {
val numFeatures = "numFeatures"
val numClasses = "numClasses"
}

/**
* Creates an instrumentation object for a training session.
Expand Down