本文整理汇总了PHP中toba::cronometro方法的典型用法代码示例。如果您正苦于以下问题:PHP toba::cronometro方法的具体用法?PHP toba::cronometro怎么用?PHP toba::cronometro使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类toba
的用法示例。
在下文中一共展示了toba::cronometro方法的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: procesar
/**
* Crea la zona, carga los componentes, procesa los eventos y los servicios
*/
function procesar()
{
$en_mantenimiento = toba::proyecto()->get_parametro('proyecto', 'modo_mantenimiento', false) == 1;
if ($en_mantenimiento) {
$this->pre_proceso_servicio();
//Saca css y no queda alert pelado
$msg = toba::proyecto()->get_parametro('proyecto', 'mantenimiento_mensaje');
toba::notificacion()->info($msg);
toba::notificacion()->mostrar();
} else {
try {
$this->crear_zona();
$retrasar_headers = $this->info['basica']['retrasar_headers'];
//Chequeo si necesito enviar la clase para google analytics (necesito ponerlo aca para que salga como basico)
//La otra forma es agregarlo a la generacion de consumos globales al medio de la generacion de HTML
if ($this->hacer_seguimiento() && !$this->es_item_login()) {
toba_js::agregar_consumos_basicos(array('basicos/google_analytics'));
}
// Si la pagina retrasa el envio de headers, no mando los pre_servicios ahora
if (!$retrasar_headers) {
$this->pre_proceso_servicio();
}
$this->cargar_objetos();
toba::cronometro()->marcar('Procesando Eventos');
$this->procesar_eventos();
if ($retrasar_headers) {
$this->pre_proceso_servicio();
}
toba::cronometro()->marcar('Procesando Servicio');
$this->procesar_servicios();
} catch (toba_error $e) {
toba::logger()->error($e, 'toba');
$mensaje_debug = null;
if (toba::logger()->modo_debug()) {
$mensaje_debug = $e->get_mensaje_log();
}
toba::notificacion()->error($e->get_mensaje(), $mensaje_debug);
toba::notificacion()->mostrar();
}
}
}
示例2: opcion__automaticos
/**
* Ejecuta la batería de test automáticos de un proyecto
* @consola_parametros Parámetros: -p Proyecto [-c Cat] [-t Caso]
*/
function opcion__automaticos()
{
$path_autoload_sel = '/php/testing/selenium/test_selenium_autoload.php';
require_once 'modelo/lib/testing_unitario/toba_test_lista_casos.php';
require_once toba_dir() . '/php/3ros/simpletest/unit_tester.php';
require_once toba_dir() . '/php/3ros/simpletest/reporter.php';
$param = $this->get_parametros();
$proyecto = isset($param['-p']) ? $param['-p'] : $this->get_id_proyecto_actual(true);
$instancia = isset($param['-i']) ? $param['-i'] : $this->get_id_instancia_actual(true);
toba_nucleo::instancia()->iniciar_contexto_desde_consola($instancia, $proyecto);
$path = $this->get_instancia()->get_path_proyecto($proyecto);
if (file_exists($path . $path_autoload_sel)) {
require_once $path . $path_autoload_sel;
spl_autoload_register(array('test_selenium_autoload', 'cargar'));
}
toba_test_lista_casos::$proyecto = $proyecto;
toba_test_lista_casos::$instancia = $instancia;
//Selecciono una categoria
if (isset($param['-c'])) {
$seleccionados = toba_test_lista_casos::get_casos($param['-c']);
}
//Seleccion de un test particular
if (isset($param['-t'])) {
$seleccionados = toba_test_lista_casos::get_casos();
$particular = false;
foreach ($seleccionados as $caso) {
if ($caso['id'] == $param["-t"]) {
$particular = $caso;
}
}
if ($particular) {
$seleccionados = array($particular);
} else {
$seleccionados = array();
}
} elseif (!isset($param['-c'])) {
//Ni categoria ni test, elijo de una lista presentada
$seleccionados = toba_test_lista_casos::get_casos();
$lista = array();
$klaves = array_keys($seleccionados);
foreach ($seleccionados as $caso) {
$lista[$caso['id']] = $caso['nombre'];
}
$elegidos = $this->consola->dialogo_lista_opciones($lista, 'Seleccione el caso de test', true, null, false);
foreach ($klaves as $klave) {
if (!in_array($seleccionados[$klave]['id'], $elegidos)) {
unset($seleccionados[$klave]);
}
}
}
$resultado = null;
try {
$separar_casos = isset($param["-l"]) ? true : false;
$separar_pruebas = isset($param["-l"]) ? true : false;
$test = new toba_test_grupo_casos('Casos de TEST', $separar_casos, $separar_pruebas);
foreach ($seleccionados as $caso) {
require_once $caso['archivo'];
$test->addTestCase(new $caso['id']($caso['nombre']));
}
//Termina la ejecución con 0 o 1 para que pueda comunicarse con al consola
$resultado = $test->run(new TextReporter());
} catch (Exception $e) {
if (method_exists($e, 'mensaje_consola')) {
$this->consola->mensaje($e->mensaje_consola());
} else {
$this->consola->mensaje($e);
}
$resultado = 1;
}
//Guardar LOGS?
if (isset($param["-l"])) {
toba::logger()->debug('Tiempo utilizado: ' . toba::cronometro()->tiempo_acumulado() . ' seg.');
toba::logger()->guardar();
}
exit(intval($resultado));
}
示例3: generar_zona_vinculos_item
static function generar_zona_vinculos_item($item, $accion, $enviar_div_wrapper = true)
{
if (!self::acceso_recursivo()) {
toba::solicitud()->set_cronometrar(true);
}
toba_js::cargar_consumos_globales(array('utilidades/toba_editor'));
$html_ayuda_editor = toba_recurso::ayuda(null, 'Presionando la tecla CTRL se pueden ver los enlaces hacia los editores de los distintos componentes de esta página');
$html_ayuda_cronometro = toba_recurso::ayuda(null, 'Ver los tiempos de ejecución en la generación de esta página');
$html_ayuda_ajax = toba_recurso::ayuda(null, 'Activar/Desactivar navegación interna de la operación via AJAX');
$html_ayuda_editor = toba_recurso::ayuda(null, 'Volver al editor de toba');
$solicitud = toba::solicitud()->get_id();
$link_cronometro = toba::vinculador()->get_url('toba_editor', '1000263', null, array('prefijo' => toba_editor::get_punto_acceso_editor()));
$link_analizador_sql = toba::vinculador()->get_url('toba_editor', '30000030', null, array('prefijo' => toba_editor::get_punto_acceso_editor()));
$link_logger = toba::vinculador()->get_url('toba_editor', '1000003', null, array('prefijo' => toba_editor::get_punto_acceso_editor()));
$link_archivos = toba::vinculador()->get_url('toba_editor', '30000029', null, array('prefijo' => toba_editor::get_punto_acceso_editor()));
$estilo = toba::proyecto()->get_parametro('estilo');
if ($enviar_div_wrapper) {
echo "<div id='editor_previsualizacion'>";
/*echo "<div id='editor_previsualizacion_colap'><img style='cursor:pointer;_cursor:hand;' title='Ocultar la barra'
src='".toba_recurso::imagen_toba('nucleo/expandir_izq.gif', false)."'
onclick='toggle_nodo(\$\$(\"editor_previsualizacion_cont\"))'/></div>";*/
}
echo "<span id='editor_previsualizacion_cont'>";
echo "<span id='editor_previsualizacion_vis'>";
//Logger
list($log_nivel, $log_cant) = toba::logger()->get_mensajes_minimo_nivel();
$niveles = toba::logger()->get_niveles();
$niveles[0] = 'INFO';
$img = self::imagen_editor('logger/' . strtolower($niveles[$log_nivel]) . '.gif', true);
$html_ayuda_logger = toba_recurso::ayuda(null, 'Visor de logs');
echo "<a href='{$link_logger}' target='logger' {$html_ayuda_logger} >" . $img . " {$log_cant}</a>\n";
//Cronometro
toba::cronometro()->marcar('Resumen toba_editor');
echo "<a href='{$link_cronometro}' target='logger' {$html_ayuda_cronometro} >\n" . toba_recurso::imagen_toba('clock.png', true) . ' ' . round(toba::cronometro()->tiempo_acumulado(), 2) . ' seg' . "</a> ";
//Memoria
if (function_exists('memory_get_peak_usage')) {
$memoria_pico = memory_get_peak_usage();
echo toba_recurso::imagen_toba('memory.png', true, 16, 16, 'Pico máximo de memoria que ha consumido el script actual');
echo ' ' . file_size($memoria_pico, 0) . ' ';
}
//Base de datos
$fuente = toba_admin_fuentes::instancia()->get_fuente_predeterminada(false, toba_editor::get_proyecto_cargado());
if ($fuente) {
try {
$base = toba_admin_fuentes::instancia()->get_fuente($fuente, toba_editor::get_proyecto_cargado())->get_db();
$info_db = $base->get_info_debug();
$total = 0;
foreach ($info_db as $info) {
if (isset($info['fin'])) {
$total += $info['fin'] - $info['inicio'];
}
}
$rol = toba::db()->get_rol_actual();
toba::memoria()->set_dato_instancia('previsualizacion_consultas', array('fuente' => $fuente, 'datos' => $info_db));
echo "<a href='{$link_analizador_sql}' target='logger'>" . toba_recurso::imagen_toba('objetos/datos_relacion.gif', true, 16, 16, 'Ver detalles de las consultas y comandos ejecutados en este pedido de página') . count($info_db) . " ({$rol})</a>";
} catch (toba_error $e) {
//Si no se tiene acceso a la base no se hace nada
}
}
//Archivos
$archivos = self::get_archivos_incluidos();
$total = 0;
foreach ($archivos as $arch) {
$total += filesize($arch);
}
toba::memoria()->set_dato_instancia('previsualizacion_archivos', $archivos);
echo "<a href='{$link_archivos}' target='logger'>" . toba_recurso::imagen_toba('nucleo/php.gif', true, 16, 16, 'Ver detalle de archivos .php del proyecto incluidos en este pedido de página') . ' ' . count($archivos) . " arch. (" . file_size($total, 0) . ')</a>';
//Session
$tamano = file_size(strlen(serialize($_SESSION)), 0);
echo toba_recurso::imagen_toba('sesion.png', true, 16, 16, 'Tamaño de la sesión') . " {$tamano} ";
echo "</span>";
//-- ACCIONES
echo "<span id='editor_previsualizacion_acc'>";
$perfiles = array(apex_ef_no_seteado => '-- Todos --');
foreach (toba::manejador_sesiones()->get_perfiles_funcionales() as $perfil) {
$perfiles[$perfil] = $perfil;
}
$actuales = toba::manejador_sesiones()->get_perfiles_funcionales_activos();
$actual = null;
if (count($actuales) == 1) {
$actual = current($actuales);
}
$js = "title='Cambia el perfil actual del usuario' onchange=\"location.href = toba_prefijo_vinculo + '&perfil_activo=' + this.value\"";
echo "Perfiles: " . toba_form::select('cambiar_perfiles', $actual, $perfiles, 'ef-combo', $js);
//Usuario de la base
$hay_limitado = false;
if (!isset(self::$fuentes)) {
self::$fuentes = toba_info_editores::get_fuentes_datos(toba_editor::get_proyecto_cargado());
}
foreach (self::$fuentes as $fuente) {
if ($fuente['permisos_por_tabla']) {
$hay_limitado = true;
}
}
if ($hay_limitado) {
$actual = self::$memoria['conexion_limitada'] ? 'limitado' : 'normal';
$datos = array("normal" => "Normal", "limitado" => "Limitados");
$js = "title='Cambia temporalmente el usuario de conexión a la base' onchange=\"location.href = toba_prefijo_vinculo + '&usuario_conexion=' + this.value\"";
echo "Permisos DB: " . toba_form::select('cambiar_rol', $actual, $datos, 'ef-combo', $js);
}
//.........这里部分代码省略.........
示例4: __construct
private function __construct()
{
$this->cargar_includes_basicos();
spl_autoload_register(array('toba_nucleo', 'cargador_clases'));
toba::cronometro();
}
示例5: registrar
function registrar()
{
toba::cronometro()->marcar('Finalizando Solicitud');
if (count($this->observaciones) > 0) {
$this->registrar_db = true;
}
if ($this->registrar_db || $this->cronometrar) {
// Guardo solicitud
toba::instancia()->actualizar_solicitud_cronometro($this->id, $this->info['basica']['item_proyecto']);
// Guardo observaciones
if (count($this->observaciones) > 0) {
for ($i = 0; $i < count($this->observaciones); $i++) {
toba::instancia()->registrar_solicitud_observaciones($this->info['basica']['item_proyecto'], $this->id, $this->observaciones[$i]['tipo'], $this->observaciones[$i]['observacion']);
}
}
}
}
示例6: actualizar_solicitud_cronometro
function actualizar_solicitud_cronometro($id, $proyecto)
{
$tiempo = toba::cronometro()->tiempo_acumulado();
$sql = "UPDATE {$this->get_schema_logs_toba()}.apex_solicitud SET tiempo_respuesta = :tiempo_respuesta\n\t\t\t\tWHERE\tproyecto = :proyecto AND solicitud = :solicitud;";
$parametros = array('proyecto' => $proyecto, 'solicitud' => $id, 'tiempo_respuesta' => $tiempo);
$this->get_db()->sentencia($sql, $parametros);
}