@@ -77,7 +77,7 @@ def teardown
7777 assert_instance_of ( AppProfiler ::VernierProfile , profile )
7878 assert_equal ( "wowza" , profile . id )
7979 assert_equal ( "bar" , profile . context )
80- assert_equal ( "spam" , profile [ :meta ] [ :extrameta ] )
80+ assert_equal ( "spam" , profile . metadata [ :extrameta ] )
8181 end
8282
8383 test ".run wall profile" do
@@ -200,6 +200,50 @@ def teardown
200200
201201 assert_nil ( AppProfiler . profiler . results )
202202 end
203+
204+ test ".results contain vernierUserMetadata, and extra meta" do
205+ skip "metadata output added in >=1.7.0" if Gem . loaded_specs [ "vernier" ] . version < Gem ::Version . new ( "1.7.0" )
206+
207+ profile = AppProfiler . profiler . run (
208+ vernier_params (
209+ interval : 2000 ,
210+ metadata : {
211+ user_data_1 : "foo" ,
212+ user_data_2 : "bar" ,
213+ interval : 1000 ,
214+ } ,
215+ ) ,
216+ ) do
217+ sleep ( 0.1 )
218+ end
219+
220+ assert_instance_of ( AppProfiler ::VernierProfile , profile )
221+
222+ # Stores "internal" vernier metadata
223+ assert_equal ( :wall , profile . metadata [ :mode ] )
224+ assert_equal ( 2000 , profile . metadata [ :interval ] ) # The internal value takes precedence over the user value
225+ assert_equal ( 0 , profile . metadata [ :allocation_interval ] )
226+ assert_equal ( false , profile . metadata [ :gc ] )
227+
228+ # Don't include ignored/private metadata
229+ AppProfiler ::Backend ::VernierBackend ::PRIVATE_METADATA . each do |excluded |
230+ refute_includes ( profile . metadata , excluded )
231+ end
232+
233+ # Stores the user supplied data
234+ assert_equal ( "foo" , profile . metadata [ :user_data_1 ] )
235+ assert_equal ( "foo" , profile . metadata [ :user_data_1 ] )
236+
237+ # Check that "extra" meta (for UI display) is also present
238+ {
239+ user_data_1 : "foo" ,
240+ user_data_2 : "bar" ,
241+ interval : 2000 ,
242+ mode : :wall ,
243+ } . each do |k , v |
244+ assert ( profile [ :meta ] [ :extra ] . first [ :entries ] . find { |e | e [ :label ] == k && e [ :value ] == v } )
245+ end
246+ end
203247 end
204248 end
205249end
0 commit comments