Skip to content

Commit

Permalink
Add missing file
Browse files Browse the repository at this point in the history
  • Loading branch information
EnricoMi committed Sep 25, 2023
1 parent 95ac13d commit f1cdcfa
Showing 1 changed file with 42 additions and 0 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
/*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* The ASF licenses this file to You under the Apache License, Version 2.0
* (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.apache.spark.sql.execution

import org.apache.spark.rdd.RDD
import org.apache.spark.sql.catalyst.InternalRow
import org.apache.spark.sql.catalyst.expressions.Attribute
import org.apache.spark.sql.execution.metric.SQLMetric
import org.apache.spark.util.AccumulatorContext

case class ShowMetricsExec(label: Option[String], sqlMetrics: Seq[Long], child: SparkPlan)
extends UnaryExecNode {
override def output: Seq[Attribute] = child.output

override protected def withNewChildInternal(newChild: SparkPlan): ShowMetricsExec =
copy(child = newChild)

override def nodeName: String = label.getOrElse(super.nodeName)

override def metrics: Map[String, SQLMetric] =
sqlMetrics
.flatMap(AccumulatorContext.get)
.map(_.asInstanceOf[SQLMetric])
.map(metric => (metric.name.get, metric))
.toMap

override protected def doExecute(): RDD[InternalRow] = child.execute()
}

0 comments on commit f1cdcfa

Please sign in to comment.