�J�[�l��������ǔ�����uDTrace�v�̎����FOS�I���̐V�펯�i1/8 �y�[�W�j

Solaris 10�̋����@�\�Ƃ��ăN���[�Y�A�b�v����邱�Ƃ������uDTrace�v�B���܂��܂ȃT�[�r�X������ғ������T�[�o�ł́A�J�[�l�������ɂ���ă{�g���l�b�N�𔻒f���邱�Ƃ������BDTrace�́A�������邽�߂̑ŊJ��ƂȂ�̂��H�@����T���v���Ō��؂��Ă����B

» 2005�N04��22�� 13��53�� ���J

�@Solaris 10�̖ڋʂƂȂ�@�\�̂ЂƂ‚ɁA���s���̃T�[�o�������‚ł��擾�ł���uDTrace�v������BDTrace�́A�ғ��T�[�o��Ŏv���悤�ȃp�t�H�[�}���X�������Ȃ�������A�g���u�����������ۂɌ�����������̂ɖ𗧂‹@�\���B���́uOS�I���̐V�펯�vSolaris���W�ł́ADTrace���g���Ƌ�̓I�ɂǂ̂悤�ȏ����擾�ł��H�@�ǂ̂悤�ȃV�[���Ŗ𗧂‚̂��H�@���̎����������Ă������Ƃɂ��悤�B

DTrace�̎d�g��

�@�܂��͊ȒP�ɁADTrace�̎d�g�݂����������B

�@Solaris 10�̓����ɂ́A�u�v���[�u�v�ƌĂ΂���3�����̃f�[�^�ϑ��|�C���g���p�ӂ���Ă���B�����āA���̃v���[�u��񋟂���v���O�����̂��Ƃ��uDTrace�v���o�C�_�v�ƌĂԁBDTrace�v���o�C�_�́A�\1�Ɏ��������‚��̃J�e�S���ɕ��ނ���Ă���̂��B

�v���o�C�_ �񋟂�����ȏ��
dtrace DTrace�̊J�n����I�����A�G���[�������ȂǂɃC�x���g����������v���[�u�B��q��D�X�N���v�g�Ńv���O��������Ƃ��ɁA������������I�������A�G���[�����Ȃǂ��L�q���鎞�ɗp����
lookstat ���b�N��Ԃ��ω��������ɃC�x���g��������v���[�u
profile ��莞�Ԃ��ƂɃ^�C�}�C�x���g�𔭐�����v���[�u�B����I�ɒl���W�v���������Ȃǂɗp����
fbt Function Boundary Tracing�B�J�[�l�������̊֐��ւ̓˓��^�ޏo���ƂɃC�x���g�𔭐�����v���[�u
syscall �V�X�e���R�[���ւ̓˓��^�ޏo���ƂɃC�x���g��������v���[�u
sbt Statically Defined Tracing�B�A�v���P�[�V������`�̃v���[�u�B�A�v���P�[�V�����J���҂����炩����sys/sdt.h�ɂ���֐��Q���Ăяo���ADTrace�̃C�x���g�𔭐�������悤�ɍ\�����鎞�A�Y�����[�`����ʉ߂���ƃC�x���g��������
sysinfo �J�[�l���̃X�e�[�^�X���ikstat -n sys�Ŏ擾�ł�����j��񋟂���v���[�u
vminfo �J�[�l���̉��z���������ikstat -n vm�Ŏ擾�ł�����j��񋟂���v���[�u
proc �v���Z�X�̐����A�I���A�V�O�i����M�Ȃǂ������������ɃC�x���g��������v���[�u
sched CPU�X�P�W���[�����O�Ɋւ������񋟂���v���[�u
io �f�B�X�N���o�͏��Ɋւ���v���[�u�Biostat�R�}���h�Ŏ擾�ł������񋟂���
mib Management Information Bases�iMIB�j����񋟂���v���[�u�Bkstat -n��netstat�R�}���h�Ŏ擾�ł������񋟂���
fpuinfo SPARC�v���Z�b�T��FPU�V�~�����[�g�@�\��Ԃ�񋟂���v���[�u
pid �C�ӂ̃v���Z�XID�����ƒv���Z�X���̎w�肵���ʒu�̊֐��ւ̓˓��^�ޏo���ƂɃC�x���g�𔭐�����v���[�u
plockstat �v���Z�X�̃��b�N��Ԃ�m�点��v���[�u
fasttrap ���[�U�[�v���Z�X��DTrace���Ăяo���Ƃ��ɁA���̃��[�U�[�v���Z�X�ɑ΂��ăf�[�^�𗬂����ނ��߂̃n���h���B����ł͗��p����Ȃ�
�\1��DTrace�v���o�C�_���

�@�v���[�u���牽�����𓾂邽�߂ɂ́Adtrace�R�}���h��p����Bdtrace�R�}���h���n�߂Ƃ���v���[�u�����񏊓�����v���O�������uDTrace�R���V���[�}�v�Ƃ����B

�@DTrace�R���V���[�}���g���ăv���[�u������������ƁA�v���[�u������ʉ߂�������DTrace�R���V���[�}���R�[���o�b�N�����d�g�݂��B���̎��A�����Ƃ��ăv���[�u����̏�񂪓n�����B

�@�‚܂�DTrace�Ƃ́A���炩���߃v���[�u�ɑ΂��āu�Y��������ʉ߂�����ʒm���Ăق����v�ȂǂƓo�^���邱�Ƃɂ��A�J�[�l������s���̃A�v���P�[�V���������A���^�C���Ƀg���[�X����@�\�Ȃ̂��i�}1�j�B

�}1��DTrace�̎d�g��

�@�e��DTrace�v���o�C�_�́A�W���őg�ݍ��܂�Ă���ADTrace���g�����ɃJ�[�l����A�v���P�[�V�������ăR���p�C������K�v�͂Ȃ��B

�@�Ȃ��W���ł́ADTrace�𗘗p�ł��郆�[�U�[�́Aroot���[�U�[�݂̂ɐ�������Ă���B����́A�v���[�u���烁�����ւ̓ǂݏ����⑗��M����Ă���f�[�^�i�L�[���͂��܂ށj��`�����邱�Ƃ��ł��邽�߁A�Z�L�����e�B��D�܂����Ȃ����߂��i���ۂɌ�̗�ŁA�t�@�C���ւ̏������݂�`��������@���Ƃ��Đ�������j�B

�@�@�@�@�@�@ 1|2|3|4|5|6|7|8 ���̃y�[�W��

Copyright © ITmedia, Inc. All Rights Reserved.

'; e_dlv.innerHTML = html; adRequest({position:dlv_pos,dom:true}); }else if(ad_type === 'gam'){ var html = '
'; e_dlv.innerHTML = html; refreshGam('InArtSpecialLink'); }else if(ad_type === 'logly'){ var html = '
'; e_dlv.innerHTML = html; loglySet(g_id); }else if(ad_type === 'google'){ var html = '
'; e_dlv.innerHTML = html; googletag.cmd.push(function(){ var slot8 = googletag.defineSlot('/43042345/nlab_artinsert_RT',[[336,280],[300,250],'fluid'],'div-gpt-ad-1551176482959-0').addService(googletag.pubads()); googletag.pubads().enableSingleRequest(); googletag.enableServices(); googletag.display('div-gpt-ad-1551176482959-0'); googletag.pubads().refresh([slot8]); }); } }; var insert_ok = function(_target,_str){ var clearfix = d.createElement('div'); clearfix.className = 'colBoxClear'; if(ad_float_fix){ e_body.insertBefore(e_dlv,_target); e_body.insertBefore(clearfix,_target.nextElementSibling); }else{ e_body.insertBefore(e_dlv,_target); } set_dlv(); }; var insert_ng = function(_str){ e_dlv.style.display = 'none'; }; var main = function(){ var e_nodes = e_body.childNodes; // BODY �����q�v�f var e_tags = []; // BODY �����^�O var p_num = []; // BODY ���� P �^�O�ʒu var p_target_num; // �g�}����ʒu var o_float = {}; // ��荞�ݗv�f var o_this = {}; // �A�N�e�B�u�^�O var o_next = {}; // �A�N�e�B�u�^�O�̎��̃^�O var flag_insert = 0; // �}���t���O // ��荞�ݗv�f�`�F�b�N var check_float = function(_e){ var e = 0; if(_e.id.match(/^col\d{3}(l|r)$/)){ e = _e; } return e; }; // �v�f�� Y ���W�ƍ����̍��v�l var get_element_y = function(_e){ var ey = 0; var eh = _e.offsetHeight; while(_e){ ey += _e.offsetTop; _e = _e.offsetParent; } return ey + eh; }; var check_ptag = function(_e){ var e = 0; if(_e.tagName && _e.tagName === 'P'){ e = _e; } return e; }; var try_insert = function(){ p_target_num = Math.floor(p_num.length / 2) - 1; if(p_target_num >= _maxrange) p_target_num = _maxrange; if(dis_con) p_target_num = 0; for(var i = p_num[p_target_num]; i < e_tags.length; i++){ o_this.e = check_ptag(e_tags[i]); if(o_this.e){ o_next.e = check_ptag(e_tags[i + 1]); if(o_next.e){ if(!o_float.e || check_float(e_tags[i - 1])){ o_float.e = check_float(e_tags[i - 1]); o_float.n = i - 1; } if(o_float.e && o_float.n < i + 1){ o_float.y = get_element_y(o_float.e); o_this.y = get_element_y(o_this.e); set_line(o_float.y,'red'); set_line(o_this.y,'blue'); if(o_float.y < o_this.y){ flag_insert = 1; insert_ok(o_next.e,_threshold + ' �p���ȏ��荞�݂���'); break; } }else{ flag_insert = 1; insert_ok(o_next.e,_threshold + ' �p���ȏ��荞�݂Ȃ�'); break; } } }else{ o_float = {}; } } if(!flag_insert){ insert_ng('�}���ʒu�Ȃ�'); } }; // �S�q�v�f����^�O�̂ݔz��ɓ���� for(var i = 0; i < e_nodes.length; i++){ if(e_nodes[i].tagName){ e_tags.push(e_nodes[i]); } } // �S�^�O���� P �^�O�ʒu��z��ɓ���� for(var i = 0; i < e_tags.length; i++){ if(e_tags[i].tagName === 'P') p_num.push(i); // �ŏ��̉�荞�ݗv�f���i�[ if(!o_float.e){ o_float.e = check_float(e_tags[i]); o_float.y = get_element_y(o_float.e); o_float.n = i; } } if(p_num.length >= _threshold){ try_insert(); }else{ insert_ng('P �^�O ' + _threshold + ' �ȉ�'); } }; if(e_body){ main(); }else{ insert_ng('�L���{���Ȃ�'); } })(document,4,5);

���ڂ̃e�[�}

���Ȃ��ɂ������߂̋L��PR