How to use graph_export_handler method of pts_result_viewer_embed class

Best Phoronix-test-suite code snippet using pts_result_viewer_embed.graph_export_handler

pts_result_viewer_embed.php

Source:pts_result_viewer_embed.php Github

copy

Full Screen

...20 protected $result_file;21 protected $can_modify_results = false;22 protected $can_delete_results = false;23 protected $result_public_id;24 protected $graph_export_handler = false;25 protected $post_description_message = null;26 protected $show_html_table_when_relevant = true;27 protected $show_test_metadata_helper = true;28 protected $include_page_print_only_helpers = true;29 public function __construct(&$result_file, $public_id = null)30 {31 $this->result_file = &$result_file;32 $this->result_public_id = $public_id;33 }34 public function allow_modifying_results($can_modify)35 {36 $this->can_modify_results = $can_modify;37 }38 public function allow_deleting_results($can_delete)39 {40 $this->can_delete_results = $can_delete;41 }42 public function set_graph_export_handler($handler)43 {44 if(is_callable($handler))45 {46 $this->graph_export_handler = $handler;47 }48 }49 public function graph_export_handler(&$raw)50 {51 if($this->graph_export_handler)52 {53 return call_user_func($this->graph_export_handler, $raw);54 }55 }56 public function set_post_description_message($msg)57 {58 $this->post_description_message = $msg;59 }60 public function show_html_result_table($show)61 {62 $this->show_html_table_when_relevant = $show;63 }64 public function show_test_metadata_helper($show)65 {66 $this->show_test_metadata_helper = $show;67 }68 public function include_page_print_only_helpers($show)69 {70 $this->include_page_print_only_helpers = $show;71 }72 protected function result_object_to_error_report(&$result_file, &$result_object, $i)73 {74 $html = '';75 $shown_args = false;76 foreach($result_object->test_result_buffer->buffer_items as &$bi)77 {78 if($bi->get_result_value() == null)79 {80 if(!$shown_args)81 {82 $html .= '<p><strong>' . $result_object->get_arguments_description() . '</strong></p>';83 $shown_args = true;84 }85 $bi_error = $bi->get_error();86 if($bi_error == null)87 {88 $bi_error = 'Test failed to run.';89 }90 $html .= '<p class="test_error"><strong>' . $bi->get_result_identifier() . ':</strong> ' . strip_tags($bi_error) . '<br />';91 if($result_file->get_test_run_log_for_result($result_object, -2))92 {93 $html .= ' <a onclick="javascript:display_test_logs_for_result_object(\'' . $this->result_public_id . '\', \'' . $i . '\', \'' . $bi->get_result_identifier() . '\'); return false;">View Test Run Logs</a> ';94 }95 if($result_file->get_install_log_for_test($result_object->test_profile, -2))96 {97 $html .= ' &nbsp; <a onclick="javascript:display_install_logs_for_result_object(\'' . $this->result_public_id . '\', \'' . $i . '\', \'' . $bi->get_result_identifier() . '\'); return false;">View Test Installation Logs</a> ';98 }99 $html .= '</p>';100 }101 }102 return $html;103 }104 public function get_html()105 {106 $PAGE = null;107 $result_file = &$this->result_file;108 self::process_result_modify_pre_render($result_file, $this->can_modify_results, $this->can_delete_results);109 $result_file->avoid_duplicate_identifiers();110 $extra_attributes = null;111 $html_options = self::get_html_options_markup($result_file, $_REQUEST, $this->result_public_id, $this->can_delete_results);112 self::process_request_to_attributes($_REQUEST, $result_file, $extra_attributes);113 $PAGE .= self::get_html_sort_bar($result_file, $_REQUEST);114 $PAGE .= '<h1 id="result_file_title" placeholder="Title">' . pts_strings::sanitize($result_file->get_title()) . '</h1>';115 $PAGE .= '<p id="result_file_desc" placeholder="Description">' . str_replace(PHP_EOL, '<br />', pts_strings::sanitize($result_file->get_description())) . '</p>';116 $PAGE .= '<div id="result-settings">';117 if($this->can_modify_results)118 {119 $PAGE .= ' <input type="submit" id="save_result_file_meta_button" value="Save" onclick="javascript:save_result_file_meta(\'' . $this->result_public_id . '\'); return false;" style="display: none;">';120 $PAGE .= ' <input type="submit" id="edit_result_file_meta_button" value="Edit" onclick="javascript:edit_result_file_meta(); return false;">';121 }122 if($this->can_delete_results && !defined('PHOROMATIC_SERVER'))123 {124 $PAGE .= ' <input type="submit" value="Delete Result File" onclick="javascript:delete_result_file(\'' . $this->result_public_id . '\'); return false;">';125 }126 $PAGE .= $this->post_description_message;127 $PAGE .= '<div style="text-align: center;">Jump To <a href="#table">Table</a> - <a href="#results">Results</a></div>';128 $PAGE .= '<hr /><div style="font-size: 12pt;">' . $html_options . '</div><hr style="clear: both;" />';129 $PAGE .= self::process_helper_html($_REQUEST, $result_file, $extra_attributes, $this->can_modify_results, $this->can_delete_results);130 $PAGE .= '</div>';131 if($this->include_page_print_only_helpers)132 {133 $PAGE .= '<div class="print_notes">' . pts_result_file_output::result_file_to_system_html($result_file) . '</div>';134 }135 $PAGE .= '<div id="result_overview_area">';136 $intent = -1;137 if($result_file->get_system_count() == 1 || ($intent = pts_result_file_analyzer::analyze_result_file_intent($result_file, $intent, true)))138 {139 $table = new pts_ResultFileCompactSystemsTable($result_file, $intent);140 }141 else if($result_file->get_system_count() > 0)142 {143 $table = new pts_ResultFileSystemsTable($result_file);144 }145 $rendered = pts_render::render_graph_inline_embed($table, $result_file, $extra_attributes);146 $PAGE .= '<p style="text-align: center; overflow: auto;" class="result_object" id="result_file_system_table">' . $rendered . '</p>';147 $PAGE .= $this->graph_export_handler($rendered);148 if($result_file->get_system_count() == 2)149 {150 $graph = new pts_graph_run_vs_run($result_file);151 if($graph->renderGraph())152 {153 $rendered = pts_render::render_graph_inline_embed($graph, $result_file, $extra_attributes);154 $PAGE .= '<p style="text-align: center; overflow: auto;" class="result_object">' . $rendered . '</p>';155 $PAGE .= $this->graph_export_handler($rendered);156 }157 }158 else if($result_file->get_system_count() > 12 && false) // TODO determine when this is sane enough to enable159 {160 $graph = new pts_graph_mini_overview($result_file, '');161 if($graph->renderGraph())162 {163 $rendered = pts_render::render_graph_inline_embed($graph, $result_file, $extra_attributes);164 $PAGE .= '<p style="text-align: center; overflow: auto;" class="result_object">' . $rendered . '</p>';165 $PAGE .= $this->graph_export_handler($rendered);166 }167 }168 else if(!$result_file->is_multi_way_comparison())169 {170 foreach(array('', 'Per Watt', 'Per Dollar') as $selector)171 {172 $graph = new pts_graph_radar_chart($result_file, $selector);173 if($graph->renderGraph())174 {175 $rendered = pts_render::render_graph_inline_embed($graph, $result_file, $extra_attributes);176 $PAGE .= '<p style="text-align: center; overflow: auto;" class="result_object">' . $rendered . '</p>';177 $PAGE .= $this->graph_export_handler($rendered);178 }179 }180 }181 //$PAGE .= '<a id="table"></a>';182 if(!$result_file->is_multi_way_comparison() && $this->show_html_table_when_relevant)183 {184 $PAGE .= '<div class="pts_result_table">' . pts_result_file_output::result_file_to_detailed_html_table($result_file, 'grid', $extra_attributes, self::check_request_for_var($_REQUEST, 'sdt')) . '</div>';185 }186 else if($result_file->get_test_count() > 3)187 {188 $intent = null;189 $table = new pts_ResultFileTable($result_file, $intent);190 $rendered = pts_render::render_graph_inline_embed($table, $result_file, $extra_attributes);191 $PAGE .= '<p style="text-align: center; overflow: auto;" class="result_object">' . $rendered . '</p>';192 $PAGE .= $this->graph_export_handler($rendered);193 }194 $PAGE .= '</div>';195 $PAGE .= '<a id="table"></a><div id="results">';196 $prev_title = null;197 $identifier_mapping_to_cores = array();198 $identifier_mapping_to_threads = array();199 $identifier_mapping_to_cpu_clock = array();200 $identifier_mapping_to_ram_channels = array();201 if($result_file->get_system_count() > 1 && !$result_file->is_multi_way_comparison())202 {203 $sppt = self::check_request_for_var($_REQUEST, 'sppt');204 $sppc = self::check_request_for_var($_REQUEST, 'sppc');205 $sppm = self::check_request_for_var($_REQUEST, 'sppm');206 if($sppt || $sppc || $sppm)207 {208 foreach($result_file->get_systems() as $system)209 {210 if($sppt)211 {212 $t = $system->get_cpu_core_count();213 if($t > 0)214 {215 $identifier_mapping_to_cores[$system->get_identifier()] = $t;216 }217 $t = $system->get_cpu_thread_count();218 if($t > 0)219 {220 $identifier_mapping_to_threads[$system->get_identifier()] = $t;221 }222 }223 if($sppc)224 {225 $t = $system->get_cpu_clock();226 if($t > 0)227 {228 $identifier_mapping_to_cpu_clock[$system->get_identifier()] = $t;229 }230 }231 if($sppm)232 {233 $t = $system->get_memory_channels();234 if($t > 0)235 {236 $identifier_mapping_to_ram_channels[$system->get_identifier()] = $t;237 }238 }239 }240 if(count(array_unique($identifier_mapping_to_cores)) < 2)241 {242 $identifier_mapping_to_cores = array();243 }244 if(count(array_unique($identifier_mapping_to_threads)) < 2)245 {246 $identifier_mapping_to_threads = array();247 }248 if(count(array_unique($identifier_mapping_to_cpu_clock)) < 2)249 {250 $identifier_mapping_to_cpu_clock = array();251 }252 if(count(array_unique($identifier_mapping_to_ram_channels)) < 2)253 {254 $identifier_mapping_to_ram_channels = array();255 }256 }257 }258 //259 // SHOW THE RESULTS260 //261 $skip_ros = array();262 foreach($result_file->get_result_objects() as $i => $result_object)263 {264 //265 // RENDER TEST AND ANCHOR266 //267 if(in_array($i, $skip_ros))268 {269 continue;270 }271 $ro = clone $result_object;272 $res_desc_shortened = $result_object->get_arguments_description_shortened(false);273 $res = pts_render::render_graph_inline_embed($ro, $result_file, $extra_attributes);274 $PAGE .= '<a id="r-' . $i . '"></a><div style="text-align: center;" id="result-' . $i . '">';275 //276 // DISPLAY TEST PORIFLE METADATA HELPER277 //278 if($this->show_test_metadata_helper && $result_object->test_profile->get_title() != $prev_title)279 {280 $PAGE .= '<h2>' . $result_object->test_profile->get_title() . '</h2>';281 if(is_file(PTS_INTERNAL_OB_CACHE . 'test-profiles/' . $result_object->test_profile->get_identifier() . '/test-definition.xml'))282 {283 $tp = new pts_test_profile(PTS_INTERNAL_OB_CACHE . 'test-profiles/' . $result_object->test_profile->get_identifier() . '/test-definition.xml');284 $PAGE .= '<p class="mini">' . $tp->get_description() . ' <a href="https://openbenchmarking.org/test/' . $result_object->test_profile->get_identifier(false) . '"><em class="hide_on_print">Learn more via the OpenBenchmarking.org test page</em></a>.</p>';285 /* $suites_containing_test = pts_test_suites::suites_containing_test_profile($result_object->test_profile);286 if(!empty($suites_containing_test))287 {288 foreach($suites_containing_test as $suite)289 {290 $PAGE .= $suite->get_title() . ' ' . $suite->get_identifier();291 }292 } */293 }294 $prev_title = $result_object->test_profile->get_title();295 }296 if($res != false)297 {298 //299 // DISPLAY GRAPH300 //301 // Run variability302 $res_per_core = false;303 $res_per_thread = false;304 $res_per_clock = false;305 $res_per_ram = false;306 $res_variability = false;307 if(!in_array($result_object->test_profile->get_display_format(), array('LINE_GRAPH', 'BOX_PLOT')) && $result_object->test_result_buffer->detected_multi_sample_result() && $result_object->test_result_buffer->get_count() > 1)308 {309 $extra_attributes['graph_render_type'] = 'HORIZONTAL_BOX_PLOT';310 $ro = clone $result_object;311 $res_variability = pts_render::render_graph_inline_embed($ro, $result_file, $extra_attributes);312 unset($extra_attributes['graph_render_type']);313 }314 if(in_array($result_object->test_profile->get_test_hardware_type(), array('System', 'Processor', 'OS')))315 {316 if(!empty($identifier_mapping_to_cores))317 {318 $ro = pts_result_file_analyzer::get_result_object_custom($result_file, $result_object, $identifier_mapping_to_cores, 'Performance Per Core', 'Core');319 if($ro)320 {321 $res_per_core = pts_render::render_graph_inline_embed($ro, $result_file, $extra_attributes);322 }323 }324 if(!empty($identifier_mapping_to_threads) && $identifier_mapping_to_cores != $identifier_mapping_to_threads)325 {326 $ro = pts_result_file_analyzer::get_result_object_custom($result_file, $result_object, $identifier_mapping_to_threads, 'Performance Per Thread', 'Thread');327 if($ro)328 {329 $res_per_thread = pts_render::render_graph_inline_embed($ro, $result_file, $extra_attributes);330 }331 }332 if(!empty($identifier_mapping_to_cpu_clock))333 {334 $ro = pts_result_file_analyzer::get_result_object_custom($result_file, $result_object, $identifier_mapping_to_cpu_clock, 'Performance Per Clock', 'GHz');335 if($ro)336 {337 $res_per_clock = pts_render::render_graph_inline_embed($ro, $result_file, $extra_attributes);338 }339 }340 }341 if(!empty($identifier_mapping_to_ram_channels) && in_array($result_object->test_profile->get_test_hardware_type(), array('System', 'Processor', 'Memory')))342 {343 $ro = pts_result_file_analyzer::get_result_object_custom($result_file, $result_object, $identifier_mapping_to_ram_channels, 'Performance Per Memory Channel', 'Channel');344 if($ro)345 {346 $res_per_ram = pts_render::render_graph_inline_embed($ro, $result_file, $extra_attributes);347 }348 }349 $tabs = array(350 'Result' => $res351 );352 $show_on_print = array();353 foreach($result_file->get_relation_map($i) as $child_ro)354 {355 $c_ro = $result_file->get_result($child_ro);356 if($c_ro)357 {358 $desc = str_replace(array(' Monitor', $res_desc_shortened ,'()' ,')', ' - '), '', $c_ro->get_arguments_description_shortened(false));359 $dindex = $desc == $res_desc_shortened || empty($desc) ? $c_ro->test_profile->get_result_scale() : $desc;360 $tabs[$dindex] = pts_render::render_graph_inline_embed($c_ro, $result_file, $extra_attributes);361 $show_on_print[] = $dindex;362 $result_file->remove_result_object_by_id($child_ro);363 $skip_ros[] = $child_ro;364 }365 }366 $tabs['Perf Per Core'] = $res_per_core;367 $tabs['Perf Per Thread'] = $res_per_thread;368 $tabs['Perf Per Clock'] = $res_per_clock;369 $tabs['Perf Per RAM Channel'] = $res_per_ram;370 $tabs['Result Confidence'] = $res_variability;371 foreach($tabs as $title => &$graph)372 {373 if(empty($graph))374 {375 unset($tabs[$title]);376 }377 }378 switch(count($tabs))379 {380 case 0:381 continue 2;382 case 1:383 $PAGE .= $res . '<br />';384 $PAGE .= $this->graph_export_handler($res);385 break;386 default:387 $PAGE .= '<div class="tabs">';388 foreach($tabs as $title => &$rendered)389 {390 $tab_id = strtolower(str_replace(' ', '_', $title)) . '_' . $i;391 $PAGE .= '<input type="radio" name="tabs_' . $i . '" id="' . $tab_id . '"' . ($title == 'Result' ? ' checked="checked"' : '') . '>392 <label for="' . $tab_id . '">' . $title . '</label>393 <div class="tab' . (in_array($title, $show_on_print) ? ' print_notes' : '') . '">394 ' . $rendered . $this->graph_export_handler($rendered) . '395 </div>';396 }397 $PAGE .= '</div>';398 }399 }400 //401 // DISPLAY LOGS402 //403 $PAGE .= $this->result_object_to_error_report($result_file, $result_object, $i);404 $button_area = null;405 if($result_file->get_test_run_log_for_result($result_object, -2))406 {407 $button_area .= ' <button onclick="javascript:display_test_logs_for_result_object(\'' . $this->result_public_id . '\', \'' . $i . '\'); return false;">View Test Run Logs</button> ';408 }...

Full Screen

Full Screen

graph_export_handler

Using AI Code Generation

copy

Full Screen

1require_once('pts-result-viewer-embed.php');2$graph_export_handler = new pts_result_viewer_embed();3$graph_export_handler->graph_export_handler();4require_once('pts-result-viewer-embed.php');5$graph_export_handler = new pts_result_viewer_embed();6$graph_export_handler->graph_export_handler();7require_once('pts-result-viewer-embed.php');8$graph_export_handler = new pts_result_viewer_embed();9$graph_export_handler->graph_export_handler();10require_once('pts-result-viewer-embed.php');11$graph_export_handler = new pts_result_viewer_embed();12$graph_export_handler->graph_export_handler();13require_once('pts-result-viewer-embed.php');14$graph_export_handler = new pts_result_viewer_embed();15$graph_export_handler->graph_export_handler();16require_once('pts-result-viewer-embed.php');17$graph_export_handler = new pts_result_viewer_embed();18$graph_export_handler->graph_export_handler();19require_once('pts-result-viewer-embed.php');20$graph_export_handler = new pts_result_viewer_embed();21$graph_export_handler->graph_export_handler();22require_once('pts-result-viewer-embed.php');23$graph_export_handler = new pts_result_viewer_embed();24$graph_export_handler->graph_export_handler();25require_once('pts-result-viewer-embed.php');26$graph_export_handler = new pts_result_viewer_embed();27$graph_export_handler->graph_export_handler();28require_once('pts-result-viewer-embed.php');

Full Screen

Full Screen

graph_export_handler

Using AI Code Generation

copy

Full Screen

1require_once('pts_result_viewer_embed.php');2$graph_export_handler = new pts_result_viewer_embed();3$graph_export_handler->graph_export_handler();4require_once('pts_result_viewer_embed.php');5$graph_export_handler = new pts_result_viewer_embed();6$graph_export_handler->graph_export_handler();7require_once('pts_result_viewer_embed.php');8$graph_export_handler = new pts_result_viewer_embed();9$graph_export_handler->graph_export_handler();10require_once('pts_result_viewer_embed.php');11$graph_export_handler = new pts_result_viewer_embed();12$graph_export_handler->graph_export_handler();13require_once('pts_result_viewer_embed.php');14$graph_export_handler = new pts_result_viewer_embed();15$graph_export_handler->graph_export_handler();16require_once('pts_result_viewer_embed.php');17$graph_export_handler = new pts_result_viewer_embed();18$graph_export_handler->graph_export_handler();19require_once('pts_result_viewer_embed.php');20$graph_export_handler = new pts_result_viewer_embed();21$graph_export_handler->graph_export_handler();22require_once('pts_result_viewer_embed.php');23$graph_export_handler = new pts_result_viewer_embed();24$graph_export_handler->graph_export_handler();25require_once('pts_result_viewer_embed.php');26$graph_export_handler = new pts_result_viewer_embed();27$graph_export_handler->graph_export_handler();28require_once('pts_result_viewer_embed.php');29$graph_export_handler = new pts_result_viewer_embed();30$graph_export_handler->graph_export_handler();

Full Screen

Full Screen

graph_export_handler

Using AI Code Generation

copy

Full Screen

1require_once('pts-core.php');2require_once('pts-core/objects/pts_result_file_analyzer.php');3require_once('pts-core/objects/pts_result_viewer_embed.php');4$result_file = new pts_result_file_analyzer('result_file.xml');5$result_file->graph_export_handler();6The graph_export_handler() method of pts_result_viewer_embed class can be used to generate graph images for any result file. The

Full Screen

Full Screen

graph_export_handler

Using AI Code Generation

copy

Full Screen

1require_once('pts_result_viewer_embed.php');2$graph = new pts_result_viewer_embed();3$graph->graph_export_handler('2.php');4require_once('pts_result_viewer_embed.php');5$graph = new pts_result_viewer_embed();6$graph->graph_export_handler('3.php');7require_once('pts_result_viewer_embed.php');8$graph = new pts_result_viewer_embed();9$graph->graph_export_handler('4.php');10require_once('pts_result_viewer_embed.php');11$graph = new pts_result_viewer_embed();12$graph->graph_export_handler('5.php');13require_once('pts_result_viewer_embed.php');14$graph = new pts_result_viewer_embed();15$graph->graph_export_handler('6.php');16require_once('pts_result_viewer_embed.php');17$graph = new pts_result_viewer_embed();18$graph->graph_export_handler('7.php');19require_once('pts_result_viewer_embed.php');20$graph = new pts_result_viewer_embed();21$graph->graph_export_handler('8.php');22require_once('pts_result_viewer_embed.php');23$graph = new pts_result_viewer_embed();24$graph->graph_export_handler('9.php');25require_once('pts_result_viewer_embed.php');26$graph = new pts_result_viewer_embed();27$graph->graph_export_handler('10.php');

Full Screen

Full Screen

Automation Testing Tutorials

Learn to execute automation testing from scratch with LambdaTest Learning Hub. Right from setting up the prerequisites to run your first automation test, to following best practices and diving deeper into advanced test scenarios. LambdaTest Learning Hubs compile a list of step-by-step guides to help you be proficient with different test automation frameworks i.e. Selenium, Cypress, TestNG etc.

LambdaTest Learning Hubs:

YouTube

You could also refer to video tutorials over LambdaTest YouTube channel to get step by step demonstration from industry experts.

Run Phoronix-test-suite automation tests on LambdaTest cloud grid

Perform automation testing on 3000+ real desktop and mobile devices online.

Trigger graph_export_handler code on LambdaTest Cloud Grid

Execute automation tests with graph_export_handler on a cloud-based Grid of 3000+ real browsers and operating systems for both web and mobile applications.

Test now for Free

Try LambdaTest Now !!

Get 100 minutes of automation test minutes FREE!!

Next-Gen App & Browser Testing Cloud

Was this article helpful?

Helpful

NotHelpful