code: def test_pandas_sql_metrics_basic(self):
      # SPARK-34265: Instrument Python UDFs using SQL metrics
  
      python_sql_metrics = [
          "data sent to Python workers",
          "data returned from Python workers",
          "number of output rows",
      ]
  
      @pandas_udf("long")
      def test_pandas(col1):
          return col1 * col1
  
      self.spark.range(10).select(test_pandas("id")).collect()
  
      statusStore = (
          self.spark._jsparkSession.sharedState().statusStore()
      )
      lastExecId = statusStore.executionsList().last().executionId()
      executionMetrics = (
          statusStore.execution(lastExecId).get().metrics().mkString()
      )
  
      for metric in python_sql_metrics:
          self.assertIn(metric, executionMetrics)
  
imports: import unittest
  from typing import cast
  from pyspark.sql.functions import pandas_udf
  from pyspark.testing.sqlutils import ReusedSQLTestCase, have_pandas, have_pyarrow, pandas_requirement_message, pyarrow_requirement_message
label_desc: Use image node_id 1 for calling the PandasSQLMetrics obj's underlying member method code with example usage: obj.test_pandas_sql_metrics_basic() and returns: unknown